home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / Hyperj-Hz / HYPERTREE II V1.4.cpt / HYPERTREE II V1.4 Folder / HyperTree II v1.4 / background_2888.xml < prev    next >
Extensible Markup Language  |  1992-03-01  |  297KB  |  3,731 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE background PUBLIC "-//Apple, Inc.//DTD background V 2.0//EN" "" >
  3. <background>
  4.     <id>2888</id>
  5.     <filler1>0</filler1>
  6.     <bitmap>BMAP_5467.pbm</bitmap>
  7.     <cantDelete> <true /> </cantDelete>
  8.     <showPict> <true /> </showPict>
  9.     <dontSearch> <false /> </dontSearch>
  10.     <link rel="stylesheet" type="text/css" href="stylesheet_3473.css" />
  11.     <part>
  12.         <id>1</id>
  13.         <type>field</type>
  14.         <visible> <true /> </visible>
  15.         <dontWrap> <false /> </dontWrap>
  16.         <dontSearch> <false /> </dontSearch>
  17.         <sharedText> <false /> </sharedText>
  18.         <fixedLineHeight> <true /> </fixedLineHeight>
  19.         <autoTab> <false /> </autoTab>
  20.         <lockText> <false /> </lockText>
  21.         <rect>
  22.             <left>93</left>
  23.             <top>5</top>
  24.             <right>407</right>
  25.             <bottom>28</bottom>
  26.         </rect>
  27.         <style>shadow</style>
  28.         <autoSelect> <false /> </autoSelect>
  29.         <showLines> <false /> </showLines>
  30.         <wideMargins> <false /> </wideMargins>
  31.         <multipleLines> <false /> </multipleLines>
  32.         <reservedFamily> 0 </reservedFamily>
  33.         <titleWidth>0</titleWidth>
  34.         <icon>0</icon>
  35.         <textAlign>center</textAlign>
  36.         <font>New York</font>
  37.         <textSize>14</textSize>
  38.         <textStyle>bold</textStyle>
  39.         <textHeight>18</textHeight>
  40.         <name>Name</name>
  41.         <script>on openfieldglobal StartNameFieldput field "Name" into startNameFieldend openfieldon closeFieldglobal StartNameFieldput field "Name" into carrierparseOneLiner carrierput the result into field "Name"if field "Name" ‚↠StartNameField and StartNameField is not emptythenanswer "Changes were made to the name field. What should be done now?" with "Revert" or "This Card" or "All Cards"put it into responseif response is empty then exit closefieldif response is "Revert" then put StartNameField into field "Name"if response = "All Cards" then propagateChangeend ifset the name of this card to field "Name"pass closefieldend closefieldon propagateChangeglobal StartNameField, reportXXX, bigcountset cursor to 4set lockmessages to trueput empty into bigCountput empty into reportXXXput startNameField into startNameput the short ID of this card into origIDput field "NameMF" into startSex-- need to see if a card exists for the new nameput field "Name" into changeNameput "card " && quote & changename & quote into glomif objectExists(glom)thenanswer "A card exists with the new name. What now?" with "Revert" or "Change It" or "Make Unique"put it into responseif response is empty then put "Revert" into responseif response is "Revert"thenput StartNameField into field "Name"exit propagateChangeend ifif response = "Make Unique"thenput empty into existorepeat until existo = "false"put "," after changeNameput "card " && quote & changename & quote into glomput objectExists(glom) into existoend repeatput changename into field "Name"end ifend if-- get the spousenamesput empty into spousenamesif field "Spouse1" is not emptythenaddToNames field "Spouse1", spousenamesput the result into spouseNamesend ifif field "Spouse2" is not emptythenaddToNames field "Spouse2", spousenamesput the result into spouseNamesend ifif field "Spouse3" is not emptythenaddToNames field "Spouse3", spousenamesput the result into spouseNamesend ifif field "Spouse4" is not emptythenaddToNames field "Spouse4", spousenamesput the result into spouseNamesend if-- get the parents namesput empty into parentNamesif field "FatherName" is not emptythenaddToNames field "FatherName", parentNamesput the result into parentNamesend ifif field "MotherName" is not emptythenaddToNames field "MotherName", parentNamesput the result into parentNamesend if-- get the kids namesput field "Kids" into kidNames-- get the sibling namesput field "Siblings" into siblingNamesput "Target cards are gathered, changing now."-- Here we will change the spouse cardsrepeat with x = 1 to number of lines of spouseNamesput line x of spouseNames into targetNameif targetName is not emptythenchangeAspouse targetName, startNameField, changeNameend ifend repeat-- Here we will change the parents cardsrepeat with x = 1 to number of lines of parentNamesput line x of parentNames into targetNameif targetName is not emptythenchangeAparent targetName, startNameField, changeNameend ifend repeat-- Here we will change the siblings cardsrepeat with x = 1 to number of lines of siblingNamesput line x of siblingNames into targetNameif targetName is not emptythenchangeAsibling targetName, startNameField, changeNameend ifend repeat-- here we will change the kids cardsrepeat with x = 1 to number of lines of kidNamesput line x of kidNames into targetNameif targetName is not emptythenchangeAkid targetName, startNameField, changeNameend ifend repeatif reportXXX is not emptythenput return & return & return before reportXXXput reportXXX into field "Cousin Display"show field "Cousin Display"show bkgnd btn "Print Display"show bkgnd btn "Hide Display"end ifif bigCount > 0 then put bigCount & " cards were updated successfully"end propagateChangeon addToNames name, glomput name into line (number of lines of glom + 1) of glomreturn glomend addToNameson changeAspouse targetName, startNameField, changeNameglobal reportXXX, bigcountput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for spouse " & targetName & " does not exist." & return after reportXXXexit changeAspouseend ifput field "Spouse1" of card targetName into catcherif catcher = startNameFieldthenput changeName into field "Spouse1" of card targetNameadd 1 to bigCountexit changeAspouseend ifput field "Spouse2" of card targetName into catcherif catcher = startNameField  thenput changeName into field "Spouse2" of card targetNameadd 1 to bigCountexit changeAspouseend ifput field "Spouse3" of card targetName into catcherif catcher = startNameFieldthenput changeName into field "Spouse3" of card targetNameadd 1 to bigCountexit changeAspouseend ifput field "Spouse4" of card targetName into catcherif catcher = startNameFieldthenput changeName into field "Spouse4" of card targetNameadd 1 to bigCountexit changeAspouseend ifput "The name " & startNameField & " was not fund as a spouse on card " &targetName & return after reportXXXend changeAspouseon changeAparent targetName, startNameField, changeNameglobal reportXXX, bigcountput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for parent " & targetName & " does not exist." & return after reportXXXexit changeAparentend ifput field "Kids" of card targetName into rotorrepeat with y = 1 to number of lines of rotorif line y of rotor = startNameFieldthenput changeName into line y of field "Kids" of card targetNameadd 1 to bigCountexit changeAparentend ifend repeatput "the name " & startNameField & " was not found as a kid on card " & targetName & return after reportXXXend changeAparenton changeAsibling targetName, startNameField, changeNameglobal reportXXX, bigcountput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for sibling " & targetName & " does not exist." & return after reportXXXadd 1 to bigCountexit changeAsiblingend ifput field "Siblings" of card targetName into rotorrepeat with y = 1 to number of lines of rotorif line y of rotor = startNameFieldthenput changeName into line y of field "Siblings" of card targetNameadd 1 to bigCountexit changeAsiblingend ifend repeatput "the name " & startNameField & " was not found as a sibling on card " & targetName & return after reportXXXend changeAsiblingon changeAkid targetName, startNameField, changeNameglobal reportXXX, bigcountput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for kid " & targetName & " does not exist." & return after reportXXXexit changeAkidend ifif field "NameMF" = "F"thenif field "MotherName" of card targetName = startNameFieldthenput changeName into field "MotherName" of card targetNameadd 1 to bigCountelseput "The name " & startNameField & " is not the mother of " & targetName & return after reportXXXexit changeAkidend ifelseif field "FatherName" of card targetName = startNameFieldthenput changeName into field "FatherName" of card targetNameadd 1 to bigCountelseput "The name " & startNameField & " is not the father of " & targetName & return after reportXXXexit changeAkidend ifend ifend changeAkid</script>
  42.     </part>
  43.     <part>
  44.         <id>2</id>
  45.         <type>field</type>
  46.         <visible> <true /> </visible>
  47.         <dontWrap> <false /> </dontWrap>
  48.         <dontSearch> <false /> </dontSearch>
  49.         <sharedText> <false /> </sharedText>
  50.         <fixedLineHeight> <true /> </fixedLineHeight>
  51.         <autoTab> <false /> </autoTab>
  52.         <lockText> <false /> </lockText>
  53.         <rect>
  54.             <left>143</left>
  55.             <top>51</top>
  56.             <right>230</right>
  57.             <bottom>69</bottom>
  58.         </rect>
  59.         <style>transparent</style>
  60.         <autoSelect> <false /> </autoSelect>
  61.         <showLines> <true /> </showLines>
  62.         <wideMargins> <false /> </wideMargins>
  63.         <multipleLines> <false /> </multipleLines>
  64.         <reservedFamily> 0 </reservedFamily>
  65.         <titleWidth>0</titleWidth>
  66.         <icon>0</icon>
  67.         <textAlign>center</textAlign>
  68.         <font>Helvetica</font>
  69.         <textSize>12</textSize>
  70.         <textStyle>plain</textStyle>
  71.         <textHeight>16</textHeight>
  72.         <name>Birth Date</name>
  73.         <script>on closeFieldput field "Birth Date" into carrierparseOneLiner carrierput the result into field "Birth Date"end closefield</script>
  74.     </part>
  75.     <part>
  76.         <id>3</id>
  77.         <type>field</type>
  78.         <visible> <true /> </visible>
  79.         <dontWrap> <false /> </dontWrap>
  80.         <dontSearch> <false /> </dontSearch>
  81.         <sharedText> <false /> </sharedText>
  82.         <fixedLineHeight> <true /> </fixedLineHeight>
  83.         <autoTab> <false /> </autoTab>
  84.         <lockText> <false /> </lockText>
  85.         <rect>
  86.             <left>244</left>
  87.             <top>51</top>
  88.             <right>491</right>
  89.             <bottom>69</bottom>
  90.         </rect>
  91.         <style>transparent</style>
  92.         <autoSelect> <false /> </autoSelect>
  93.         <showLines> <true /> </showLines>
  94.         <wideMargins> <false /> </wideMargins>
  95.         <multipleLines> <false /> </multipleLines>
  96.         <reservedFamily> 0 </reservedFamily>
  97.         <titleWidth>0</titleWidth>
  98.         <icon>0</icon>
  99.         <textAlign>left</textAlign>
  100.         <font>Helvetica</font>
  101.         <textSize>12</textSize>
  102.         <textStyle>plain</textStyle>
  103.         <textHeight>16</textHeight>
  104.         <name>Birth Location</name>
  105.         <script>on closeFieldput field "Birth Location" into carrierparseOneLiner carrierput the result into field "Birth Location"end closefield</script>
  106.     </part>
  107.     <part>
  108.         <id>4</id>
  109.         <type>field</type>
  110.         <visible> <true /> </visible>
  111.         <dontWrap> <false /> </dontWrap>
  112.         <dontSearch> <false /> </dontSearch>
  113.         <sharedText> <false /> </sharedText>
  114.         <fixedLineHeight> <true /> </fixedLineHeight>
  115.         <autoTab> <false /> </autoTab>
  116.         <lockText> <false /> </lockText>
  117.         <rect>
  118.             <left>143</left>
  119.             <top>68</top>
  120.             <right>230</right>
  121.             <bottom>86</bottom>
  122.         </rect>
  123.         <style>transparent</style>
  124.         <autoSelect> <false /> </autoSelect>
  125.         <showLines> <true /> </showLines>
  126.         <wideMargins> <false /> </wideMargins>
  127.         <multipleLines> <false /> </multipleLines>
  128.         <reservedFamily> 0 </reservedFamily>
  129.         <titleWidth>0</titleWidth>
  130.         <icon>0</icon>
  131.         <textAlign>center</textAlign>
  132.         <font>Helvetica</font>
  133.         <textSize>12</textSize>
  134.         <textStyle>plain</textStyle>
  135.         <textHeight>16</textHeight>
  136.         <name>Death Date</name>
  137.         <script>on closeFieldput field "Death Date" into carrierparseOneLiner carrierput the result into field "Death Date"end closefield</script>
  138.     </part>
  139.     <part>
  140.         <id>5</id>
  141.         <type>field</type>
  142.         <visible> <true /> </visible>
  143.         <dontWrap> <false /> </dontWrap>
  144.         <dontSearch> <false /> </dontSearch>
  145.         <sharedText> <false /> </sharedText>
  146.         <fixedLineHeight> <true /> </fixedLineHeight>
  147.         <autoTab> <false /> </autoTab>
  148.         <lockText> <false /> </lockText>
  149.         <rect>
  150.             <left>244</left>
  151.             <top>68</top>
  152.             <right>491</right>
  153.             <bottom>86</bottom>
  154.         </rect>
  155.         <style>transparent</style>
  156.         <autoSelect> <false /> </autoSelect>
  157.         <showLines> <true /> </showLines>
  158.         <wideMargins> <false /> </wideMargins>
  159.         <multipleLines> <false /> </multipleLines>
  160.         <reservedFamily> 0 </reservedFamily>
  161.         <titleWidth>0</titleWidth>
  162.         <icon>0</icon>
  163.         <textAlign>left</textAlign>
  164.         <font>Helvetica</font>
  165.         <textSize>12</textSize>
  166.         <textStyle>plain</textStyle>
  167.         <textHeight>16</textHeight>
  168.         <name>Death Location</name>
  169.         <script>on closeFieldput field "Death Location" into carrierparseOneLiner carrierput the result into field "Death Location"end closefield</script>
  170.     </part>
  171.     <part>
  172.         <id>12</id>
  173.         <type>field</type>
  174.         <visible> <true /> </visible>
  175.         <dontWrap> <false /> </dontWrap>
  176.         <dontSearch> <false /> </dontSearch>
  177.         <sharedText> <false /> </sharedText>
  178.         <fixedLineHeight> <true /> </fixedLineHeight>
  179.         <autoTab> <false /> </autoTab>
  180.         <lockText> <false /> </lockText>
  181.         <rect>
  182.             <left>152</left>
  183.             <top>85</top>
  184.             <right>491</right>
  185.             <bottom>103</bottom>
  186.         </rect>
  187.         <style>transparent</style>
  188.         <autoSelect> <false /> </autoSelect>
  189.         <showLines> <true /> </showLines>
  190.         <wideMargins> <false /> </wideMargins>
  191.         <multipleLines> <false /> </multipleLines>
  192.         <reservedFamily> 0 </reservedFamily>
  193.         <titleWidth>0</titleWidth>
  194.         <icon>0</icon>
  195.         <textAlign>left</textAlign>
  196.         <font>Helvetica</font>
  197.         <textSize>12</textSize>
  198.         <textStyle>plain</textStyle>
  199.         <textHeight>16</textHeight>
  200.         <name>Burial Location</name>
  201.         <script>on closeFieldput field "Burial Location" into carrierparseOneLiner carrierput the result into field "Burial Location"end closefield</script>
  202.     </part>
  203.     <part>
  204.         <id>14</id>
  205.         <type>field</type>
  206.         <visible> <true /> </visible>
  207.         <dontWrap> <false /> </dontWrap>
  208.         <dontSearch> <false /> </dontSearch>
  209.         <sharedText> <false /> </sharedText>
  210.         <fixedLineHeight> <true /> </fixedLineHeight>
  211.         <autoTab> <false /> </autoTab>
  212.         <lockText> <false /> </lockText>
  213.         <rect>
  214.             <left>93</left>
  215.             <top>102</top>
  216.             <right>180</right>
  217.             <bottom>116</bottom>
  218.         </rect>
  219.         <style>transparent</style>
  220.         <autoSelect> <false /> </autoSelect>
  221.         <showLines> <true /> </showLines>
  222.         <wideMargins> <false /> </wideMargins>
  223.         <multipleLines> <false /> </multipleLines>
  224.         <reservedFamily> 0 </reservedFamily>
  225.         <titleWidth>0</titleWidth>
  226.         <icon>0</icon>
  227.         <textAlign>center</textAlign>
  228.         <font>Helvetica</font>
  229.         <textSize>10</textSize>
  230.         <textStyle>plain</textStyle>
  231.         <textHeight>12</textHeight>
  232.         <name>MDate1</name>
  233.         <script>on closeFieldput field "Mdate1" into carrierparseOneLiner carrierput the result into field "MDate1"end closefield</script>
  234.     </part>
  235.     <part>
  236.         <id>20</id>
  237.         <type>field</type>
  238.         <visible> <true /> </visible>
  239.         <dontWrap> <false /> </dontWrap>
  240.         <dontSearch> <false /> </dontSearch>
  241.         <sharedText> <false /> </sharedText>
  242.         <fixedLineHeight> <true /> </fixedLineHeight>
  243.         <autoTab> <false /> </autoTab>
  244.         <lockText> <false /> </lockText>
  245.         <rect>
  246.             <left>193</left>
  247.             <top>102</top>
  248.             <right>358</right>
  249.             <bottom>116</bottom>
  250.         </rect>
  251.         <style>transparent</style>
  252.         <autoSelect> <false /> </autoSelect>
  253.         <showLines> <true /> </showLines>
  254.         <wideMargins> <false /> </wideMargins>
  255.         <multipleLines> <false /> </multipleLines>
  256.         <reservedFamily> 0 </reservedFamily>
  257.         <titleWidth>0</titleWidth>
  258.         <icon>0</icon>
  259.         <textAlign>left</textAlign>
  260.         <font>Helvetica</font>
  261.         <textSize>10</textSize>
  262.         <textStyle>plain</textStyle>
  263.         <textHeight>12</textHeight>
  264.         <name>spouse1</name>
  265.         <script>on closeFieldput field "Spouse1" into carrierparseOneLiner carrierput the result into field "Spouse1"end closefieldon spouseRoutineglobal gender,targetName,spouseNames,parentResult, origIDglobal startCard,origMF,count,kidpoolparent, carryTo, carryFromput "Checking Spouses now"go to card startCardput field 1 into targetnamefillspousesput field "Kids" of card startcard into kidPoolput kidPool into kidPool2put empty into kidPoolParentput field "KidsMF" of card startcard into kidPoolMFrepeat with r = 1 to number of lines of spousenamesif line r of spousenames is empty then next repeatlock screenput the short id of this card into startspotput line r of spousenames into carryToput "card " && quote & carryTo & quote into testif objectExists(test)thennext repeatelsedoMenu "New Card"put (count + 1) into countput line r of spousenames into field 1genderRoutrepeat with i = 1 to the number of lines of kidPoolif line i of kidpool is not empty thenif (last word of line i of kidPool) =¬¨(last word of line r of spousenames) or ¬¨number of lines of spousenames = 1thenput (line i of kidpool) & return after field "Kids"put (line i of kidPoolMF) & return after field "KidsMF"put empty into line i of kidPoolput empty into line i of kidPoolMFput line r of spousenames into line i of kidPoolParentelseput "Is " & line r of spousenames & " the parent of " ¬¨& (line i of field "Kids" of card startCard) & "?" into quizanswer quiz with "No" or "Yes"if it is "Yes" thenput (line i of kidPool) & return after field "Kids"put (line i of kidPoolMF) & return after field "KidsMF"put empty into line i of kidPoolput empty into line i of kidPoolMFput line r of spousenames into line i of kidPoolParentend ifend ifend ifend repeatset name of this card to field 1put field ((3 * r) + 4) of card startCard into field 7put (field 1 of card startCard) into field 8if (gender is "F") then put "M" into field "NameMF"if (gender is "M") then put "F" into field "NameMF"put field ((3 * r) + 6) of card startCard into field 9end ifend repeatgo to card id origIDsend "childrenRoutine" to field "Kids"end spouseRoutineon genderRoutglobal genderset lockText of field "NameMF" to falseif (gender = "M")thenput "M" into field "NameMF"elseput "F" into field "NameMF"end ifset lockText of field "NameMF" to trueend genderRout</script>
  266.     </part>
  267.     <part>
  268.         <id>21</id>
  269.         <type>field</type>
  270.         <visible> <true /> </visible>
  271.         <dontWrap> <false /> </dontWrap>
  272.         <dontSearch> <false /> </dontSearch>
  273.         <sharedText> <false /> </sharedText>
  274.         <fixedLineHeight> <true /> </fixedLineHeight>
  275.         <autoTab> <false /> </autoTab>
  276.         <lockText> <false /> </lockText>
  277.         <rect>
  278.             <left>375</left>
  279.             <top>102</top>
  280.             <right>491</right>
  281.             <bottom>116</bottom>
  282.         </rect>
  283.         <style>transparent</style>
  284.         <autoSelect> <false /> </autoSelect>
  285.         <showLines> <true /> </showLines>
  286.         <wideMargins> <false /> </wideMargins>
  287.         <multipleLines> <false /> </multipleLines>
  288.         <reservedFamily> 0 </reservedFamily>
  289.         <titleWidth>0</titleWidth>
  290.         <icon>0</icon>
  291.         <textAlign>left</textAlign>
  292.         <font>Helvetica</font>
  293.         <textSize>10</textSize>
  294.         <textStyle>plain</textStyle>
  295.         <textHeight>12</textHeight>
  296.         <name>mIn1</name>
  297.         <script>on closeFieldput field "mIN1" into carrierparseOneLiner carrierput the result into field "mIn1"end closefield</script>
  298.     </part>
  299.     <part>
  300.         <id>22</id>
  301.         <type>field</type>
  302.         <visible> <true /> </visible>
  303.         <dontWrap> <false /> </dontWrap>
  304.         <dontSearch> <false /> </dontSearch>
  305.         <sharedText> <false /> </sharedText>
  306.         <fixedLineHeight> <true /> </fixedLineHeight>
  307.         <autoTab> <false /> </autoTab>
  308.         <lockText> <false /> </lockText>
  309.         <rect>
  310.             <left>93</left>
  311.             <top>115</top>
  312.             <right>180</right>
  313.             <bottom>129</bottom>
  314.         </rect>
  315.         <style>transparent</style>
  316.         <autoSelect> <false /> </autoSelect>
  317.         <showLines> <true /> </showLines>
  318.         <wideMargins> <false /> </wideMargins>
  319.         <multipleLines> <false /> </multipleLines>
  320.         <reservedFamily> 0 </reservedFamily>
  321.         <titleWidth>0</titleWidth>
  322.         <icon>0</icon>
  323.         <textAlign>center</textAlign>
  324.         <font>Helvetica</font>
  325.         <textSize>10</textSize>
  326.         <textStyle>plain</textStyle>
  327.         <textHeight>12</textHeight>
  328.         <name>MDate2</name>
  329.         <script>on closeFieldput field "MDate2" into carrierparseOneLiner carrierput the result into field "MDate2"end closefield</script>
  330.     </part>
  331.     <part>
  332.         <id>23</id>
  333.         <type>field</type>
  334.         <visible> <true /> </visible>
  335.         <dontWrap> <false /> </dontWrap>
  336.         <dontSearch> <false /> </dontSearch>
  337.         <sharedText> <false /> </sharedText>
  338.         <fixedLineHeight> <true /> </fixedLineHeight>
  339.         <autoTab> <false /> </autoTab>
  340.         <lockText> <false /> </lockText>
  341.         <rect>
  342.             <left>193</left>
  343.             <top>115</top>
  344.             <right>358</right>
  345.             <bottom>129</bottom>
  346.         </rect>
  347.         <style>transparent</style>
  348.         <autoSelect> <false /> </autoSelect>
  349.         <showLines> <true /> </showLines>
  350.         <wideMargins> <false /> </wideMargins>
  351.         <multipleLines> <false /> </multipleLines>
  352.         <reservedFamily> 0 </reservedFamily>
  353.         <titleWidth>0</titleWidth>
  354.         <icon>0</icon>
  355.         <textAlign>left</textAlign>
  356.         <font>Helvetica</font>
  357.         <textSize>10</textSize>
  358.         <textStyle>plain</textStyle>
  359.         <textHeight>12</textHeight>
  360.         <name>spouse2</name>
  361.         <script>on closeFieldput field "Spouse2" into carrierparseOneLiner carrierput the result into field "Spouse2"end closefield</script>
  362.     </part>
  363.     <part>
  364.         <id>24</id>
  365.         <type>field</type>
  366.         <visible> <true /> </visible>
  367.         <dontWrap> <false /> </dontWrap>
  368.         <dontSearch> <false /> </dontSearch>
  369.         <sharedText> <false /> </sharedText>
  370.         <fixedLineHeight> <true /> </fixedLineHeight>
  371.         <autoTab> <false /> </autoTab>
  372.         <lockText> <false /> </lockText>
  373.         <rect>
  374.             <left>375</left>
  375.             <top>115</top>
  376.             <right>491</right>
  377.             <bottom>129</bottom>
  378.         </rect>
  379.         <style>transparent</style>
  380.         <autoSelect> <false /> </autoSelect>
  381.         <showLines> <true /> </showLines>
  382.         <wideMargins> <false /> </wideMargins>
  383.         <multipleLines> <false /> </multipleLines>
  384.         <reservedFamily> 0 </reservedFamily>
  385.         <titleWidth>0</titleWidth>
  386.         <icon>0</icon>
  387.         <textAlign>left</textAlign>
  388.         <font>Helvetica</font>
  389.         <textSize>10</textSize>
  390.         <textStyle>plain</textStyle>
  391.         <textHeight>12</textHeight>
  392.         <name>mIN2</name>
  393.         <script>on closeFieldput field "mIn2" into carrierparseOneLiner carrierput the result into field "mIN2"end closefield</script>
  394.     </part>
  395.     <part>
  396.         <id>26</id>
  397.         <type>button</type>
  398.         <visible> <true /> </visible>
  399.         <reserved5> 0 </reserved5>
  400.         <reserved4> 0 </reserved4>
  401.         <reserved3> 0 </reserved3>
  402.         <reserved2> 0 </reserved2>
  403.         <reserved1> 0 </reserved1>
  404.         <enabled> <true /> </enabled>
  405.         <rect>
  406.             <left>257</left>
  407.             <top>298</top>
  408.             <right>282</right>
  409.             <bottom>321</bottom>
  410.         </rect>
  411.         <style>transparent</style>
  412.         <showName> <false /> </showName>
  413.         <highlight> <false /> </highlight>
  414.         <autoHighlight> <false /> </autoHighlight>
  415.         <sharedHighlight> <true /> </sharedHighlight>
  416.         <family>0</family>
  417.         <titleWidth>0</titleWidth>
  418.         <icon>1013</icon>
  419.         <textAlign>center</textAlign>
  420.         <font>Chicago</font>
  421.         <textSize>12</textSize>
  422.         <textStyle>plain</textStyle>
  423.         <name>Next</name>
  424.         <script>on mouseUpput the number of this card into pluggoif pluggo = number of cardsthenvisual wipe rightgo to the first card of bkgnd "Info Cards"elsevisual wipe rightgo next cardend ifend mouseUp</script>
  425.     </part>
  426.     <part>
  427.         <id>27</id>
  428.         <type>button</type>
  429.         <visible> <true /> </visible>
  430.         <reserved5> 0 </reserved5>
  431.         <reserved4> 0 </reserved4>
  432.         <reserved3> 0 </reserved3>
  433.         <reserved2> 0 </reserved2>
  434.         <reserved1> 0 </reserved1>
  435.         <enabled> <true /> </enabled>
  436.         <rect>
  437.             <left>228</left>
  438.             <top>298</top>
  439.             <right>254</right>
  440.             <bottom>321</bottom>
  441.         </rect>
  442.         <style>transparent</style>
  443.         <showName> <false /> </showName>
  444.         <highlight> <false /> </highlight>
  445.         <autoHighlight> <false /> </autoHighlight>
  446.         <sharedHighlight> <true /> </sharedHighlight>
  447.         <family>0</family>
  448.         <titleWidth>0</titleWidth>
  449.         <icon>1014</icon>
  450.         <textAlign>center</textAlign>
  451.         <font>Chicago</font>
  452.         <textSize>12</textSize>
  453.         <textStyle>plain</textStyle>
  454.         <name>Prev</name>
  455.         <script>on mouseUpvisual effect dissolveput the number of this card into pluggoif pluggo = 3thenvisual wipe leftgo to the last card of bkgnd "Info Cards"elsevisual wipe leftgo previous cardend ifend mouseUp</script>
  456.     </part>
  457.     <part>
  458.         <id>28</id>
  459.         <type>button</type>
  460.         <visible> <true /> </visible>
  461.         <reserved5> 0 </reserved5>
  462.         <reserved4> 0 </reserved4>
  463.         <reserved3> 0 </reserved3>
  464.         <reserved2> 0 </reserved2>
  465.         <reserved1> 0 </reserved1>
  466.         <enabled> <true /> </enabled>
  467.         <rect>
  468.             <left>45</left>
  469.             <top>298</top>
  470.             <right>75</right>
  471.             <bottom>328</bottom>
  472.         </rect>
  473.         <style>transparent</style>
  474.         <showName> <false /> </showName>
  475.         <highlight> <false /> </highlight>
  476.         <autoHighlight> <true /> </autoHighlight>
  477.         <sharedHighlight> <true /> </sharedHighlight>
  478.         <family>0</family>
  479.         <titleWidth>0</titleWidth>
  480.         <icon>8538</icon>
  481.         <textAlign>center</textAlign>
  482.         <font>Chicago</font>
  483.         <textSize>12</textSize>
  484.         <textStyle>plain</textStyle>
  485.         <name>Find " "</name>
  486.         <script>on mouseUpdoMenu Find...end mouseUp</script>
  487.     </part>
  488.     <part>
  489.         <id>31</id>
  490.         <type>button</type>
  491.         <visible> <true /> </visible>
  492.         <reserved5> 0 </reserved5>
  493.         <reserved4> 0 </reserved4>
  494.         <reserved3> 0 </reserved3>
  495.         <reserved2> 0 </reserved2>
  496.         <reserved1> 0 </reserved1>
  497.         <enabled> <true /> </enabled>
  498.         <rect>
  499.             <left>133</left>
  500.             <top>290</top>
  501.             <right>207</right>
  502.             <bottom>340</bottom>
  503.         </rect>
  504.         <style>transparent</style>
  505.         <showName> <true /> </showName>
  506.         <highlight> <false /> </highlight>
  507.         <autoHighlight> <false /> </autoHighlight>
  508.         <sharedHighlight> <true /> </sharedHighlight>
  509.         <family>0</family>
  510.         <titleWidth>0</titleWidth>
  511.         <icon>1004</icon>
  512.         <textAlign>center</textAlign>
  513.         <font>Chicago</font>
  514.         <textSize>12</textSize>
  515.         <textStyle>plain</textStyle>
  516.         <name>Read/Edit Story</name>
  517.         <script>on mouseUplock screenshow field "Display Description"put "   ** Story" into field "Display Description"hide field "Source"show field "Story"show background button "Hide Story"hide background btn "Hide Source"show bkgnd btn "read/edit source"hide field "kidscrollhide"hide field "sibscrollhide"end mouseUp</script>
  518.     </part>
  519.     <part>
  520.         <id>33</id>
  521.         <type>button</type>
  522.         <visible> <true /> </visible>
  523.         <reserved5> 0 </reserved5>
  524.         <reserved4> 0 </reserved4>
  525.         <reserved3> 0 </reserved3>
  526.         <reserved2> 0 </reserved2>
  527.         <reserved1> 0 </reserved1>
  528.         <enabled> <true /> </enabled>
  529.         <rect>
  530.             <left>383</left>
  531.             <top>291</top>
  532.             <right>438</right>
  533.             <bottom>341</bottom>
  534.         </rect>
  535.         <style>transparent</style>
  536.         <showName> <true /> </showName>
  537.         <highlight> <false /> </highlight>
  538.         <autoHighlight> <false /> </autoHighlight>
  539.         <sharedHighlight> <true /> </sharedHighlight>
  540.         <family>0</family>
  541.         <titleWidth>0</titleWidth>
  542.         <icon>3430</icon>
  543.         <textAlign>center</textAlign>
  544.         <font>Chicago</font>
  545.         <textSize>12</textSize>
  546.         <textStyle>plain</textStyle>
  547.         <name>Blank Card</name>
  548.         <script>on mouseUpdoMenu "New Card"end mouseUp</script>
  549.     </part>
  550.     <part>
  551.         <id>8</id>
  552.         <type>field</type>
  553.         <visible> <true /> </visible>
  554.         <dontWrap> <false /> </dontWrap>
  555.         <dontSearch> <false /> </dontSearch>
  556.         <sharedText> <false /> </sharedText>
  557.         <fixedLineHeight> <true /> </fixedLineHeight>
  558.         <autoTab> <false /> </autoTab>
  559.         <lockText> <false /> </lockText>
  560.         <rect>
  561.             <left>93</left>
  562.             <top>128</top>
  563.             <right>180</right>
  564.             <bottom>142</bottom>
  565.         </rect>
  566.         <style>transparent</style>
  567.         <autoSelect> <false /> </autoSelect>
  568.         <showLines> <true /> </showLines>
  569.         <wideMargins> <false /> </wideMargins>
  570.         <multipleLines> <false /> </multipleLines>
  571.         <reservedFamily> 0 </reservedFamily>
  572.         <titleWidth>0</titleWidth>
  573.         <icon>0</icon>
  574.         <textAlign>center</textAlign>
  575.         <font>Helvetica</font>
  576.         <textSize>10</textSize>
  577.         <textStyle>plain</textStyle>
  578.         <textHeight>11</textHeight>
  579.         <name>MDate3</name>
  580.         <script>on closeFieldput field "MDate3" into carrierparseOneLiner carrierput the result into field "Mdate3"end closefield</script>
  581.     </part>
  582.     <part>
  583.         <id>9</id>
  584.         <type>field</type>
  585.         <visible> <true /> </visible>
  586.         <dontWrap> <false /> </dontWrap>
  587.         <dontSearch> <false /> </dontSearch>
  588.         <sharedText> <false /> </sharedText>
  589.         <fixedLineHeight> <true /> </fixedLineHeight>
  590.         <autoTab> <false /> </autoTab>
  591.         <lockText> <false /> </lockText>
  592.         <rect>
  593.             <left>193</left>
  594.             <top>128</top>
  595.             <right>358</right>
  596.             <bottom>142</bottom>
  597.         </rect>
  598.         <style>transparent</style>
  599.         <autoSelect> <false /> </autoSelect>
  600.         <showLines> <true /> </showLines>
  601.         <wideMargins> <false /> </wideMargins>
  602.         <multipleLines> <false /> </multipleLines>
  603.         <reservedFamily> 0 </reservedFamily>
  604.         <titleWidth>0</titleWidth>
  605.         <icon>0</icon>
  606.         <textAlign>left</textAlign>
  607.         <font>Helvetica</font>
  608.         <textSize>10</textSize>
  609.         <textStyle>plain</textStyle>
  610.         <textHeight>11</textHeight>
  611.         <name>Spouse3</name>
  612.         <script>on closeFieldput field "Spouse3" into carrierparseOneLiner carrierput the result into field "Spouse3"end closefield</script>
  613.     </part>
  614.     <part>
  615.         <id>35</id>
  616.         <type>button</type>
  617.         <visible> <false /> </visible>
  618.         <reserved5> 0 </reserved5>
  619.         <reserved4> 0 </reserved4>
  620.         <reserved3> 0 </reserved3>
  621.         <reserved2> 0 </reserved2>
  622.         <reserved1> 0 </reserved1>
  623.         <enabled> <true /> </enabled>
  624.         <rect>
  625.             <left>132</left>
  626.             <top>291</top>
  627.             <right>206</right>
  628.             <bottom>341</bottom>
  629.         </rect>
  630.         <style>opaque</style>
  631.         <showName> <true /> </showName>
  632.         <highlight> <false /> </highlight>
  633.         <autoHighlight> <false /> </autoHighlight>
  634.         <sharedHighlight> <true /> </sharedHighlight>
  635.         <family>0</family>
  636.         <titleWidth>0</titleWidth>
  637.         <icon>1004</icon>
  638.         <textAlign>center</textAlign>
  639.         <font>Chicago</font>
  640.         <textSize>12</textSize>
  641.         <textStyle>plain</textStyle>
  642.         <name>Hide Story</name>
  643.         <script>on mouseUplock screenhide field "Story"hide field "Source"hide background button "Hide Story"hide bkgnd btn "Hide Source"show background button "Read/Edit Story"show background button "Read/Edit Source"show field "kidscrollhide"show field "sibscrollhide"put empty into field "Display Description"hide field "Display Description"end mouseUp</script>
  644.     </part>
  645.     <part>
  646.         <id>51</id>
  647.         <type>button</type>
  648.         <visible> <true /> </visible>
  649.         <reserved5> 0 </reserved5>
  650.         <reserved4> 0 </reserved4>
  651.         <reserved3> 0 </reserved3>
  652.         <reserved2> 0 </reserved2>
  653.         <reserved1> 0 </reserved1>
  654.         <enabled> <true /> </enabled>
  655.         <rect>
  656.             <left>441</left>
  657.             <top>290</top>
  658.             <right>505</right>
  659.             <bottom>340</bottom>
  660.         </rect>
  661.         <style>transparent</style>
  662.         <showName> <true /> </showName>
  663.         <highlight> <false /> </highlight>
  664.         <autoHighlight> <false /> </autoHighlight>
  665.         <sharedHighlight> <true /> </sharedHighlight>
  666.         <family>0</family>
  667.         <titleWidth>0</titleWidth>
  668.         <icon>11645</icon>
  669.         <textAlign>center</textAlign>
  670.         <font>Chicago</font>
  671.         <textSize>12</textSize>
  672.         <textStyle>plain</textStyle>
  673.         <name>Create Cards</name>
  674.         <script>on mouseUpglobal gender,targetName,spouseNames,parentResultglobal startCard,origMF,count,kidpoolparent, origIDset the name of this card to field "Name"-- this routine checks for duplicates in "Kids" field  and adds commas to the-- end of a name until it is unique. It then exits this handlerif the shiftKey is downthenput "Now checking children for duplicates."put field "Kids" into testerrepeat with x = 1 to number of lines of testerrepeat foreverput "card " && quote & (line x of tester) & quote into testif objectExists(test)thenput "," after line x of testernext repeatelseput line x of tester into line x of field "Kids"exit repeatend ifend repeatend repeatexit mouseupend if-- this routine checks for duplicates in 'Kids" field and adds commas to the-- end of a name until it is unique. It then adds new cards.if the optionKey is downthenput "Now checking children for duplicates."put field "Kids" into testerrepeat with x = 1 to number of lines of testerrepeat foreverput "card " && quote & (line x of tester) & quote into testif objectExists(test)thenput "," after line x of testernext repeatelseput line x of tester into line x of field "Kids"exit repeatend ifend repeatend repeatend ifput 0 into flagput the short id of this card into origIDrepeat with t = 1 to the number of lines in field "Siblings"if (line t of field "SiblingsMF" is "M") or (line t of field¬¨"SiblingsMF" is "F") then add 1 to flagend repeatrepeat with t = 1 to the number of lines in field "Kids"if (line t of field "KidsMF" is "M") or (line t of field¬¨"KidsMF" is "F") then add 1 to flagend repeatif (field "NameMF" is empty) or (flag <> ((the number of lines in field¬¨"Siblings") + (the number of lines in field "Kids")))thenanswer "Complete all gender designations and retry" with¬¨"Okay"exit mouseUpend ifput empty into countset cursor to 4put field 1 into startCardput field "NameMF" into genderif (field "Siblings" is empty) and ¬¨(field "FatherName" is empty) and ¬¨(field "MotherName" is empty ) and ¬¨(field "Spouse1" is empty) and ¬¨(field "Spouse2" is empty) and ¬¨(field "Kids" is empty)thenexit mouseUpend if-- We now cascade the scripts located in four fields due to length.-- CREATE SIBLING CARDS-- sibroutine in field "Siblings"-- CREATE PARENT CARDS-- parentRoutine in field FatherName-- CREATE SPOUSE CARDS-- spouseRoutine in field Spouse1-- CREATE CHILDREN CARDS-- childernRoutine in field "Kids"send "sibroutine" to field "Siblings"end mouseUpon genderRoutglobal genderset lockText of field "NameMF" to falseif (gender = "M")thenput "M" into field "NameMF"elseput "F" into field "NameMF"end ifset lockText of field "NameMF" to trueend genderRout</script>
  675.     </part>
  676.     <part>
  677.         <id>52</id>
  678.         <type>button</type>
  679.         <visible> <true /> </visible>
  680.         <reserved5> 0 </reserved5>
  681.         <reserved4> 0 </reserved4>
  682.         <reserved3> 0 </reserved3>
  683.         <reserved2> 0 </reserved2>
  684.         <reserved1> 0 </reserved1>
  685.         <enabled> <true /> </enabled>
  686.         <rect>
  687.             <left>14</left>
  688.             <top>304</top>
  689.             <right>34</right>
  690.             <bottom>326</bottom>
  691.         </rect>
  692.         <style>transparent</style>
  693.         <showName> <false /> </showName>
  694.         <highlight> <false /> </highlight>
  695.         <autoHighlight> <false /> </autoHighlight>
  696.         <sharedHighlight> <true /> </sharedHighlight>
  697.         <family>0</family>
  698.         <titleWidth>0</titleWidth>
  699.         <icon>26635</icon>
  700.         <textAlign>center</textAlign>
  701.         <font>Chicago</font>
  702.         <textSize>12</textSize>
  703.         <textStyle>plain</textStyle>
  704.         <name></name>
  705.         <script>on mouseUpglobal HelpExitpush cardput it into HelpExitvisual venetian blindsgo to stack "HT Ramblin Reference"end mouseUp</script>
  706.     </part>
  707.     <part>
  708.         <id>70</id>
  709.         <type>button</type>
  710.         <visible> <true /> </visible>
  711.         <reserved5> 0 </reserved5>
  712.         <reserved4> 0 </reserved4>
  713.         <reserved3> 0 </reserved3>
  714.         <reserved2> 0 </reserved2>
  715.         <reserved1> 0 </reserved1>
  716.         <enabled> <true /> </enabled>
  717.         <rect>
  718.             <left>276</left>
  719.             <top>195</top>
  720.             <right>292</right>
  721.             <bottom>207</bottom>
  722.         </rect>
  723.         <style>transparent</style>
  724.         <showName> <false /> </showName>
  725.         <highlight> <false /> </highlight>
  726.         <autoHighlight> <false /> </autoHighlight>
  727.         <sharedHighlight> <true /> </sharedHighlight>
  728.         <family>0</family>
  729.         <titleWidth>0</titleWidth>
  730.         <icon>0</icon>
  731.         <textAlign>center</textAlign>
  732.         <font>Chicago</font>
  733.         <textSize>12</textSize>
  734.         <textStyle>plain</textStyle>
  735.         <name></name>
  736.         <script>on mouseUppush cardvisual dissolvego to card (field 19)end mouseUp</script>
  737.     </part>
  738.     <part>
  739.         <id>71</id>
  740.         <type>button</type>
  741.         <visible> <true /> </visible>
  742.         <reserved5> 0 </reserved5>
  743.         <reserved4> 0 </reserved4>
  744.         <reserved3> 0 </reserved3>
  745.         <reserved2> 0 </reserved2>
  746.         <reserved1> 0 </reserved1>
  747.         <enabled> <true /> </enabled>
  748.         <rect>
  749.             <left>277</left>
  750.             <top>242</top>
  751.             <right>293</right>
  752.             <bottom>254</bottom>
  753.         </rect>
  754.         <style>transparent</style>
  755.         <showName> <false /> </showName>
  756.         <highlight> <false /> </highlight>
  757.         <autoHighlight> <false /> </autoHighlight>
  758.         <sharedHighlight> <true /> </sharedHighlight>
  759.         <family>0</family>
  760.         <titleWidth>0</titleWidth>
  761.         <icon>0</icon>
  762.         <textAlign>center</textAlign>
  763.         <font>Chicago</font>
  764.         <textSize>12</textSize>
  765.         <textStyle>plain</textStyle>
  766.         <name></name>
  767.         <script>on mouseUppush cardvisual dissolvego to card (field 20)end mouseUp</script>
  768.     </part>
  769.     <part>
  770.         <id>96</id>
  771.         <type>button</type>
  772.         <visible> <true /> </visible>
  773.         <reserved5> 0 </reserved5>
  774.         <reserved4> 0 </reserved4>
  775.         <reserved3> 0 </reserved3>
  776.         <reserved2> 0 </reserved2>
  777.         <reserved1> 0 </reserved1>
  778.         <enabled> <true /> </enabled>
  779.         <rect>
  780.             <left>492</left>
  781.             <top>101</top>
  782.             <right>508</right>
  783.             <bottom>113</bottom>
  784.         </rect>
  785.         <style>transparent</style>
  786.         <showName> <false /> </showName>
  787.         <highlight> <false /> </highlight>
  788.         <autoHighlight> <false /> </autoHighlight>
  789.         <sharedHighlight> <true /> </sharedHighlight>
  790.         <family>0</family>
  791.         <titleWidth>0</titleWidth>
  792.         <icon>0</icon>
  793.         <textAlign>center</textAlign>
  794.         <font>Chicago</font>
  795.         <textSize>12</textSize>
  796.         <textStyle>plain</textStyle>
  797.         <name></name>
  798.         <script>on mouseUppush cardvisual dissolvego to card (field 8)end mouseUp</script>
  799.     </part>
  800.     <part>
  801.         <id>99</id>
  802.         <type>field</type>
  803.         <visible> <true /> </visible>
  804.         <dontWrap> <false /> </dontWrap>
  805.         <dontSearch> <false /> </dontSearch>
  806.         <sharedText> <false /> </sharedText>
  807.         <fixedLineHeight> <true /> </fixedLineHeight>
  808.         <autoTab> <false /> </autoTab>
  809.         <lockText> <false /> </lockText>
  810.         <rect>
  811.             <left>375</left>
  812.             <top>128</top>
  813.             <right>491</right>
  814.             <bottom>142</bottom>
  815.         </rect>
  816.         <style>transparent</style>
  817.         <autoSelect> <false /> </autoSelect>
  818.         <showLines> <true /> </showLines>
  819.         <wideMargins> <false /> </wideMargins>
  820.         <multipleLines> <false /> </multipleLines>
  821.         <reservedFamily> 0 </reservedFamily>
  822.         <titleWidth>0</titleWidth>
  823.         <icon>0</icon>
  824.         <textAlign>left</textAlign>
  825.         <font>Helvetica</font>
  826.         <textSize>10</textSize>
  827.         <textStyle>plain</textStyle>
  828.         <textHeight>12</textHeight>
  829.         <name>mIN3</name>
  830.         <script>on closeFieldput field "mIN3" into carrierparseOneLiner carrierput the result into field "mIN3"end closefield</script>
  831.     </part>
  832.     <part>
  833.         <id>97</id>
  834.         <type>button</type>
  835.         <visible> <true /> </visible>
  836.         <reserved5> 0 </reserved5>
  837.         <reserved4> 0 </reserved4>
  838.         <reserved3> 0 </reserved3>
  839.         <reserved2> 0 </reserved2>
  840.         <reserved1> 0 </reserved1>
  841.         <enabled> <true /> </enabled>
  842.         <rect>
  843.             <left>492</left>
  844.             <top>114</top>
  845.             <right>508</right>
  846.             <bottom>126</bottom>
  847.         </rect>
  848.         <style>transparent</style>
  849.         <showName> <false /> </showName>
  850.         <highlight> <false /> </highlight>
  851.         <autoHighlight> <false /> </autoHighlight>
  852.         <sharedHighlight> <true /> </sharedHighlight>
  853.         <family>0</family>
  854.         <titleWidth>0</titleWidth>
  855.         <icon>0</icon>
  856.         <textAlign>center</textAlign>
  857.         <font>Chicago</font>
  858.         <textSize>12</textSize>
  859.         <textStyle>plain</textStyle>
  860.         <name></name>
  861.         <script>on mouseUppush cardvisual dissolvego to card (field 11)end mouseUp</script>
  862.     </part>
  863.     <part>
  864.         <id>98</id>
  865.         <type>button</type>
  866.         <visible> <true /> </visible>
  867.         <reserved5> 0 </reserved5>
  868.         <reserved4> 0 </reserved4>
  869.         <reserved3> 0 </reserved3>
  870.         <reserved2> 0 </reserved2>
  871.         <reserved1> 0 </reserved1>
  872.         <enabled> <true /> </enabled>
  873.         <rect>
  874.             <left>492</left>
  875.             <top>127</top>
  876.             <right>508</right>
  877.             <bottom>139</bottom>
  878.         </rect>
  879.         <style>transparent</style>
  880.         <showName> <false /> </showName>
  881.         <highlight> <false /> </highlight>
  882.         <autoHighlight> <false /> </autoHighlight>
  883.         <sharedHighlight> <true /> </sharedHighlight>
  884.         <family>0</family>
  885.         <titleWidth>0</titleWidth>
  886.         <icon>0</icon>
  887.         <textAlign>center</textAlign>
  888.         <font>Chicago</font>
  889.         <textSize>12</textSize>
  890.         <textStyle>plain</textStyle>
  891.         <name></name>
  892.         <script>on mouseUppush cardvisual dissolvego to card (field 14)end mouseUp</script>
  893.     </part>
  894.     <part>
  895.         <id>100</id>
  896.         <type>field</type>
  897.         <visible> <true /> </visible>
  898.         <dontWrap> <false /> </dontWrap>
  899.         <dontSearch> <false /> </dontSearch>
  900.         <sharedText> <false /> </sharedText>
  901.         <fixedLineHeight> <true /> </fixedLineHeight>
  902.         <autoTab> <false /> </autoTab>
  903.         <lockText> <false /> </lockText>
  904.         <rect>
  905.             <left>93</left>
  906.             <top>141</top>
  907.             <right>180</right>
  908.             <bottom>155</bottom>
  909.         </rect>
  910.         <style>transparent</style>
  911.         <autoSelect> <false /> </autoSelect>
  912.         <showLines> <true /> </showLines>
  913.         <wideMargins> <false /> </wideMargins>
  914.         <multipleLines> <false /> </multipleLines>
  915.         <reservedFamily> 0 </reservedFamily>
  916.         <titleWidth>0</titleWidth>
  917.         <icon>0</icon>
  918.         <textAlign>center</textAlign>
  919.         <font>Helvetica</font>
  920.         <textSize>10</textSize>
  921.         <textStyle>plain</textStyle>
  922.         <textHeight>12</textHeight>
  923.         <name>MDate4</name>
  924.         <script>on closeFieldput field "Mdate4" into carrierparseOneLiner carrierput the result into field "MDate4"end closefield</script>
  925.     </part>
  926.     <part>
  927.         <id>104</id>
  928.         <type>button</type>
  929.         <visible> <true /> </visible>
  930.         <reserved5> 0 </reserved5>
  931.         <reserved4> 0 </reserved4>
  932.         <reserved3> 0 </reserved3>
  933.         <reserved2> 0 </reserved2>
  934.         <reserved1> 0 </reserved1>
  935.         <enabled> <true /> </enabled>
  936.         <rect>
  937.             <left>492</left>
  938.             <top>140</top>
  939.             <right>508</right>
  940.             <bottom>152</bottom>
  941.         </rect>
  942.         <style>transparent</style>
  943.         <showName> <false /> </showName>
  944.         <highlight> <false /> </highlight>
  945.         <autoHighlight> <false /> </autoHighlight>
  946.         <sharedHighlight> <true /> </sharedHighlight>
  947.         <family>0</family>
  948.         <titleWidth>0</titleWidth>
  949.         <icon>0</icon>
  950.         <textAlign>center</textAlign>
  951.         <font>Chicago</font>
  952.         <textSize>12</textSize>
  953.         <textStyle>plain</textStyle>
  954.         <name></name>
  955.         <script>on mouseUppush cardvisual dissolvego to card (field 17)end mouseUp</script>
  956.     </part>
  957.     <part>
  958.         <id>105</id>
  959.         <type>button</type>
  960.         <visible> <true /> </visible>
  961.         <reserved5> 0 </reserved5>
  962.         <reserved4> 0 </reserved4>
  963.         <reserved3> 0 </reserved3>
  964.         <reserved2> 0 </reserved2>
  965.         <reserved1> 0 </reserved1>
  966.         <enabled> <true /> </enabled>
  967.         <rect>
  968.             <left>295</left>
  969.             <top>155</top>
  970.             <right>308</right>
  971.             <bottom>291</bottom>
  972.         </rect>
  973.         <style>transparent</style>
  974.         <showName> <false /> </showName>
  975.         <highlight> <false /> </highlight>
  976.         <autoHighlight> <false /> </autoHighlight>
  977.         <sharedHighlight> <true /> </sharedHighlight>
  978.         <family>0</family>
  979.         <titleWidth>0</titleWidth>
  980.         <icon>0</icon>
  981.         <textAlign>center</textAlign>
  982.         <font>Chicago</font>
  983.         <textSize>12</textSize>
  984.         <textStyle>plain</textStyle>
  985.         <name>Tree from Siblings</name>
  986.         <script>on mouseUpglobal treeStartput (item 2 of the clickloc - 142 + scroll of field "Siblings") div 11 into lineNumput (line lineNum of field "Siblings") into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  987.     </part>
  988.     <part>
  989.         <id>128</id>
  990.         <type>button</type>
  991.         <visible> <true /> </visible>
  992.         <reserved5> 0 </reserved5>
  993.         <reserved4> 0 </reserved4>
  994.         <reserved3> 0 </reserved3>
  995.         <reserved2> 0 </reserved2>
  996.         <reserved1> 0 </reserved1>
  997.         <enabled> <true /> </enabled>
  998.         <rect>
  999.             <left>0</left>
  1000.             <top>102</top>
  1001.             <right>14</right>
  1002.             <bottom>114</bottom>
  1003.         </rect>
  1004.         <style>transparent</style>
  1005.         <showName> <false /> </showName>
  1006.         <highlight> <false /> </highlight>
  1007.         <autoHighlight> <false /> </autoHighlight>
  1008.         <sharedHighlight> <true /> </sharedHighlight>
  1009.         <family>0</family>
  1010.         <titleWidth>0</titleWidth>
  1011.         <icon>0</icon>
  1012.         <textAlign>center</textAlign>
  1013.         <font>Chicago</font>
  1014.         <textSize>12</textSize>
  1015.         <textStyle>plain</textStyle>
  1016.         <name>Jump from 1st Marriage</name>
  1017.         <script>on mouseUpglobal treeStartput field 8 into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  1018.     </part>
  1019.     <part>
  1020.         <id>129</id>
  1021.         <type>button</type>
  1022.         <visible> <true /> </visible>
  1023.         <reserved5> 0 </reserved5>
  1024.         <reserved4> 0 </reserved4>
  1025.         <reserved3> 0 </reserved3>
  1026.         <reserved2> 0 </reserved2>
  1027.         <reserved1> 0 </reserved1>
  1028.         <enabled> <true /> </enabled>
  1029.         <rect>
  1030.             <left>0</left>
  1031.             <top>115</top>
  1032.             <right>14</right>
  1033.             <bottom>127</bottom>
  1034.         </rect>
  1035.         <style>transparent</style>
  1036.         <showName> <false /> </showName>
  1037.         <highlight> <false /> </highlight>
  1038.         <autoHighlight> <false /> </autoHighlight>
  1039.         <sharedHighlight> <true /> </sharedHighlight>
  1040.         <family>0</family>
  1041.         <titleWidth>0</titleWidth>
  1042.         <icon>0</icon>
  1043.         <textAlign>center</textAlign>
  1044.         <font>Chicago</font>
  1045.         <textSize>12</textSize>
  1046.         <textStyle>plain</textStyle>
  1047.         <name>Jump from 2nd Marriage</name>
  1048.         <script>on mouseUpglobal treeStartput field 11 into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  1049.     </part>
  1050.     <part>
  1051.         <id>130</id>
  1052.         <type>button</type>
  1053.         <visible> <true /> </visible>
  1054.         <reserved5> 0 </reserved5>
  1055.         <reserved4> 0 </reserved4>
  1056.         <reserved3> 0 </reserved3>
  1057.         <reserved2> 0 </reserved2>
  1058.         <reserved1> 0 </reserved1>
  1059.         <enabled> <true /> </enabled>
  1060.         <rect>
  1061.             <left>0</left>
  1062.             <top>128</top>
  1063.             <right>14</right>
  1064.             <bottom>140</bottom>
  1065.         </rect>
  1066.         <style>transparent</style>
  1067.         <showName> <false /> </showName>
  1068.         <highlight> <false /> </highlight>
  1069.         <autoHighlight> <false /> </autoHighlight>
  1070.         <sharedHighlight> <true /> </sharedHighlight>
  1071.         <family>0</family>
  1072.         <titleWidth>0</titleWidth>
  1073.         <icon>0</icon>
  1074.         <textAlign>center</textAlign>
  1075.         <font>Chicago</font>
  1076.         <textSize>12</textSize>
  1077.         <textStyle>plain</textStyle>
  1078.         <name>Jump from 3rd Marriage</name>
  1079.         <script>on mouseUpglobal treeStartput field 14 into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  1080.     </part>
  1081.     <part>
  1082.         <id>140</id>
  1083.         <type>field</type>
  1084.         <visible> <true /> </visible>
  1085.         <dontWrap> <false /> </dontWrap>
  1086.         <dontSearch> <false /> </dontSearch>
  1087.         <sharedText> <false /> </sharedText>
  1088.         <fixedLineHeight> <true /> </fixedLineHeight>
  1089.         <autoTab> <false /> </autoTab>
  1090.         <lockText> <false /> </lockText>
  1091.         <rect>
  1092.             <left>193</left>
  1093.             <top>141</top>
  1094.             <right>358</right>
  1095.             <bottom>156</bottom>
  1096.         </rect>
  1097.         <style>transparent</style>
  1098.         <autoSelect> <false /> </autoSelect>
  1099.         <showLines> <true /> </showLines>
  1100.         <wideMargins> <false /> </wideMargins>
  1101.         <multipleLines> <false /> </multipleLines>
  1102.         <reservedFamily> 0 </reservedFamily>
  1103.         <titleWidth>0</titleWidth>
  1104.         <icon>0</icon>
  1105.         <textAlign>left</textAlign>
  1106.         <font>Helvetica</font>
  1107.         <textSize>10</textSize>
  1108.         <textStyle>plain</textStyle>
  1109.         <textHeight>12</textHeight>
  1110.         <name>spouse4</name>
  1111.         <script>on closeFieldput field "Spouse4" into carrierparseOneLiner carrierput the result into field "Spouse4"end closefield</script>
  1112.     </part>
  1113.     <part>
  1114.         <id>131</id>
  1115.         <type>button</type>
  1116.         <visible> <true /> </visible>
  1117.         <reserved5> 0 </reserved5>
  1118.         <reserved4> 0 </reserved4>
  1119.         <reserved3> 0 </reserved3>
  1120.         <reserved2> 0 </reserved2>
  1121.         <reserved1> 0 </reserved1>
  1122.         <enabled> <true /> </enabled>
  1123.         <rect>
  1124.             <left>0</left>
  1125.             <top>141</top>
  1126.             <right>14</right>
  1127.             <bottom>153</bottom>
  1128.         </rect>
  1129.         <style>transparent</style>
  1130.         <showName> <false /> </showName>
  1131.         <highlight> <false /> </highlight>
  1132.         <autoHighlight> <false /> </autoHighlight>
  1133.         <sharedHighlight> <true /> </sharedHighlight>
  1134.         <family>0</family>
  1135.         <titleWidth>0</titleWidth>
  1136.         <icon>0</icon>
  1137.         <textAlign>center</textAlign>
  1138.         <font>Chicago</font>
  1139.         <textSize>12</textSize>
  1140.         <textStyle>plain</textStyle>
  1141.         <name>Jump from 4th Marriage</name>
  1142.         <script>on mouseUpglobal treeStartput field 17 into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  1143.     </part>
  1144.     <part>
  1145.         <id>132</id>
  1146.         <type>button</type>
  1147.         <visible> <true /> </visible>
  1148.         <reserved5> 0 </reserved5>
  1149.         <reserved4> 0 </reserved4>
  1150.         <reserved3> 0 </reserved3>
  1151.         <reserved2> 0 </reserved2>
  1152.         <reserved1> 0 </reserved1>
  1153.         <enabled> <true /> </enabled>
  1154.         <rect>
  1155.             <left>225</left>
  1156.             <top>195</top>
  1157.             <right>241</right>
  1158.             <bottom>207</bottom>
  1159.         </rect>
  1160.         <style>transparent</style>
  1161.         <showName> <false /> </showName>
  1162.         <highlight> <false /> </highlight>
  1163.         <autoHighlight> <false /> </autoHighlight>
  1164.         <sharedHighlight> <true /> </sharedHighlight>
  1165.         <family>0</family>
  1166.         <titleWidth>0</titleWidth>
  1167.         <icon>0</icon>
  1168.         <textAlign>center</textAlign>
  1169.         <font>Chicago</font>
  1170.         <textSize>12</textSize>
  1171.         <textStyle>plain</textStyle>
  1172.         <name>Jump from Father</name>
  1173.         <script>on mouseUpglobal treeStartput field 19 into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  1174.     </part>
  1175.     <part>
  1176.         <id>133</id>
  1177.         <type>button</type>
  1178.         <visible> <true /> </visible>
  1179.         <reserved5> 0 </reserved5>
  1180.         <reserved4> 0 </reserved4>
  1181.         <reserved3> 0 </reserved3>
  1182.         <reserved2> 0 </reserved2>
  1183.         <reserved1> 0 </reserved1>
  1184.         <enabled> <true /> </enabled>
  1185.         <rect>
  1186.             <left>222</left>
  1187.             <top>242</top>
  1188.             <right>238</right>
  1189.             <bottom>254</bottom>
  1190.         </rect>
  1191.         <style>transparent</style>
  1192.         <showName> <false /> </showName>
  1193.         <highlight> <false /> </highlight>
  1194.         <autoHighlight> <false /> </autoHighlight>
  1195.         <sharedHighlight> <true /> </sharedHighlight>
  1196.         <family>0</family>
  1197.         <titleWidth>0</titleWidth>
  1198.         <icon>0</icon>
  1199.         <textAlign>center</textAlign>
  1200.         <font>Chicago</font>
  1201.         <textSize>12</textSize>
  1202.         <textStyle>plain</textStyle>
  1203.         <name>Jump from Mother</name>
  1204.         <script>on mouseUpglobal treeStartput field 20 into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  1205.     </part>
  1206.     <part>
  1207.         <id>134</id>
  1208.         <type>button</type>
  1209.         <visible> <true /> </visible>
  1210.         <reserved5> 0 </reserved5>
  1211.         <reserved4> 0 </reserved4>
  1212.         <reserved3> 0 </reserved3>
  1213.         <reserved2> 0 </reserved2>
  1214.         <reserved1> 0 </reserved1>
  1215.         <enabled> <true /> </enabled>
  1216.         <rect>
  1217.             <left>429</left>
  1218.             <top>8</top>
  1219.             <right>451</right>
  1220.             <bottom>30</bottom>
  1221.         </rect>
  1222.         <style>transparent</style>
  1223.         <showName> <false /> </showName>
  1224.         <highlight> <false /> </highlight>
  1225.         <autoHighlight> <false /> </autoHighlight>
  1226.         <sharedHighlight> <true /> </sharedHighlight>
  1227.         <family>0</family>
  1228.         <titleWidth>0</titleWidth>
  1229.         <icon>0</icon>
  1230.         <textAlign>center</textAlign>
  1231.         <font>Chicago</font>
  1232.         <textSize>12</textSize>
  1233.         <textStyle>plain</textStyle>
  1234.         <name>Tree from name field</name>
  1235.         <script>on mouseUpglobal treeStartset cursor to 4put field "Name" into treeStartset the name of this card to field "Name"push card--pass mouseUpsend doTheTree to card "Tree"end mouseUp</script>
  1236.     </part>
  1237.     <part>
  1238.         <id>141</id>
  1239.         <type>field</type>
  1240.         <visible> <true /> </visible>
  1241.         <dontWrap> <false /> </dontWrap>
  1242.         <dontSearch> <false /> </dontSearch>
  1243.         <sharedText> <false /> </sharedText>
  1244.         <fixedLineHeight> <true /> </fixedLineHeight>
  1245.         <autoTab> <false /> </autoTab>
  1246.         <lockText> <false /> </lockText>
  1247.         <rect>
  1248.             <left>375</left>
  1249.             <top>141</top>
  1250.             <right>491</right>
  1251.             <bottom>155</bottom>
  1252.         </rect>
  1253.         <style>transparent</style>
  1254.         <autoSelect> <false /> </autoSelect>
  1255.         <showLines> <true /> </showLines>
  1256.         <wideMargins> <false /> </wideMargins>
  1257.         <multipleLines> <false /> </multipleLines>
  1258.         <reservedFamily> 0 </reservedFamily>
  1259.         <titleWidth>0</titleWidth>
  1260.         <icon>0</icon>
  1261.         <textAlign>left</textAlign>
  1262.         <font>Helvetica</font>
  1263.         <textSize>10</textSize>
  1264.         <textStyle>plain</textStyle>
  1265.         <textHeight>12</textHeight>
  1266.         <name>mIN4</name>
  1267.         <script>on closeFieldput field "mIn4" into carrierparseOneLiner carrierput the result into field "mIN4"end closefield</script>
  1268.     </part>
  1269.     <part>
  1270.         <id>142</id>
  1271.         <type>field</type>
  1272.         <visible> <true /> </visible>
  1273.         <dontWrap> <false /> </dontWrap>
  1274.         <dontSearch> <false /> </dontSearch>
  1275.         <sharedText> <false /> </sharedText>
  1276.         <fixedLineHeight> <true /> </fixedLineHeight>
  1277.         <autoTab> <false /> </autoTab>
  1278.         <lockText> <false /> </lockText>
  1279.         <rect>
  1280.             <left>224</left>
  1281.             <top>206</top>
  1282.             <right>296</right>
  1283.             <bottom>243</bottom>
  1284.         </rect>
  1285.         <style>transparent</style>
  1286.         <autoSelect> <false /> </autoSelect>
  1287.         <showLines> <false /> </showLines>
  1288.         <wideMargins> <false /> </wideMargins>
  1289.         <multipleLines> <false /> </multipleLines>
  1290.         <reservedFamily> 0 </reservedFamily>
  1291.         <titleWidth>0</titleWidth>
  1292.         <icon>0</icon>
  1293.         <textAlign>center</textAlign>
  1294.         <font>Helvetica</font>
  1295.         <textSize>10</textSize>
  1296.         <textStyle>plain</textStyle>
  1297.         <textHeight>12</textHeight>
  1298.         <name>FatherName</name>
  1299.         <script>on closeFieldput field "Fathername" into carrierparseOneLiner carrierput the result into field "FatherName"end closefieldon parentRoutineglobal gender,targetName,spouseNames,parentResult,fname,mname, carryTo, carryFromglobal startCard,origMF,count,kidpoolparent,allkids,dadname,allkidsMFglobal origIDgo to card startCardput field 19 into fNameput field 20 into mNameput last word of fname into dadnameput field "Siblings" of card startcard into allKidsput field "SiblingsMF" of card startcard into allKidsMFput number of lines of allKids into sizerput "Checking Parents now"if fname is not emptythenput fname into carryTolock screenput the short id of this card into startspotput "card " && quote & carryTo & quote into testif objectExists(test)thenput "Father exists"elsedadRoutineend ifend ifif mname is not emptythenlock screenput the short id of this card into startspotput mname into carryToput "card " && quote & carryTo & quote into testif objectExists(test)thenput "Mother exists"elsemomRoutineend ifend ifgo to card id origIDsend "spouseRoutine" to field "Spouse1"end parentRoutine-- mom routine starts here --on momRoutineglobal gender,targetName,spouseNames,parentResult,fname,mname, origIDglobal startCard,origMF,count,kidpoolparent,allkids,allkidsMF,sibmomdoMenu "New Card"put (count + 1) into countput mName into field 1put the last word of mname into momNameput 1 into targetSuccessrepeat with tester = 1 to number of lines of allKidsif line tester of sibmom = mnamethenput line tester of allKids into line targetSuccess of field "Kids"put line tester of allKidsMF into line targetSuccess of field "KidsMF"add 1 to targetSuccesselseput " Is " & mName & " the mother of " & line tester of allKids & "?" into quizanswer quiz with "No" or "Yes"if it is "Yes" thenput line tester of allKids into line targetSuccess of field "Kids"put line tester of allKidsMF into line targetSuccess of field "KidsMF"add 1 to targetSuccessend ifend ifend repeatput field "name" of card startcard into line targetSuccess of field "Kids"put field "NameMF" of card startcard into line targetsuccess of field "KidsMF"set lockText of field "NameMF" to falseput "F" into field "NameMF"set lockText of field "NameMF" to trueput fName into field 8set name of this card to field 1lock screenput field 1 & return after card field 1 of card "Tree"set lockText of field "KidsMF" to trueend momRoutineon dadRoutineglobal gender,targetName,spouseNames,parentResult,fname,mname,sibdadglobal startCard,origMF,count,kidpoolparent,allkids,dadname,allkidsMFdoMenu "New Card"put (count + 1) into countput fName into field 1-- determine the correct kids for the siblings field of the father's card    put the last word of fname into dadnameput 1 into targetSuccessrepeat with tester = 1 to number of lines of allKidsif the last word of line tester of allKids = dadName thenput line tester of allKids into line targetSuccess of field "Kids"put line tester of allKidsMF into line targetSuccess of field "KidsMF"add 1 to targetSuccesselseif line tester of sibdad = fnamethenput line tester of allKids into line targetSuccess of field "Kids"put line tester of allKidsMF into line targetSuccess of field "KidsMF"add 1 to targetSuccesselseput " Is " & fName & " the father of " & line tester of allKids & "?" into quizanswer quiz with "No" or "Yes"if it is "Yes" thenput line tester of allKids into line targetSuccess of field "Kids"put line tester of allKidsMF into line targetSuccess of field "KidsMF"add 1 to targetSuccessend ifend ifend ifend repeatput field "name" of card startcard into line targetsuccess of field "Kids"put field "NameMF" of card startcard into line targetsuccess of field "KidsMF"set lockText of field "NameMF" to falseput "M" into field "NameMF"set lockText of field "NameMF" to truelock screenset name of this card to field 1put mname into field 8set lockText of field "KidsMF" to trueend dadroutine</script>
  1300.     </part>
  1301.     <part>
  1302.         <id>154</id>
  1303.         <type>button</type>
  1304.         <visible> <true /> </visible>
  1305.         <reserved5> 0 </reserved5>
  1306.         <reserved4> 0 </reserved4>
  1307.         <reserved3> 0 </reserved3>
  1308.         <reserved2> 0 </reserved2>
  1309.         <reserved1> 0 </reserved1>
  1310.         <enabled> <true /> </enabled>
  1311.         <rect>
  1312.             <left>82</left>
  1313.             <top>288</top>
  1314.             <right>132</right>
  1315.             <bottom>338</bottom>
  1316.         </rect>
  1317.         <style>transparent</style>
  1318.         <showName> <false /> </showName>
  1319.         <highlight> <false /> </highlight>
  1320.         <autoHighlight> <false /> </autoHighlight>
  1321.         <sharedHighlight> <true /> </sharedHighlight>
  1322.         <family>0</family>
  1323.         <titleWidth>0</titleWidth>
  1324.         <icon>1007</icon>
  1325.         <textAlign>center</textAlign>
  1326.         <font>Chicago</font>
  1327.         <textSize>12</textSize>
  1328.         <textStyle>plain</textStyle>
  1329.         <name>New Button</name>
  1330.         <script>on mouseUpanswer "What do you want to print?" with "Cancel" or "All Cards" or¬¨"This Card"if it is "Cancel"thenexit mouseUpelselock screenif it is "This Card"thenopen printingshow background button "cover3"show background button "cover4"show background button "cover5"show background button "cover6"show background button "cover7"show background button "CoverFL"show background button "CoverFR"show background button "CoverML"show background button "CoverMR"Hide field "Story"print cardIf field "Story" is not empty thenpush cardput field "story" into StoryHolderput field name into NameHoldergo card "Tree"put nameHolder into card field "PrDt1"put StoryHolder into card field "PrDt2"show card field PrDt1 of card "tree"show card field PrDt2 of card "Tree"print card "Tree"close printinghide card field PrDt1 of card "tree"hide card field PrDt2 of card "Tree"pop cardelseclose printingunlock screenpop cardend ifhide field "Story"hide background button "cover3"hide background button "cover4"hide background button "cover5"hide background button "cover6"hide background button "cover7"hide background button "CoverFL"hide background button "CoverFR"hide background button "CoverML"hide background button "CoverMR"show background button "All Relations"elseput the number of cards into cardNumanswer "Are you sure you want to print all" && (cardNum - 2)¬¨&& "cards?" with "Yes" or "No"if it is "No" thenexit mouseUpunlock screenend ifopen printinggo to card 3show background button "cover3"show background button "cover4"show background button "cover5"show background button "cover6"show background button "cover7"show background button "CoverFL"show background button "CoverFR"show background button "CoverML"show background button "CoverMR"repeat with x = 3 to cardNumprint card xIf field "Story" of card x is not empty thenpush cardput field "story"of card x into StoryHolderput field "name" of card x into NameHoldergo card "Tree"put nameHolder into card field "PrDt1"put StoryHolder into card field "PrDt2"show card field PrDt1 of card "tree"show card field PrDt2 of card "Tree"print card "Tree"close printingopen printinghide card field PrDt1 of card "tree"hide card field PrDt2 of card "Tree"pop cardend ifend repeatclose printinghide background button "cover3"hide background button "cover4"hide background button "cover5"hide background button "cover6"hide background button "cover7"hide background button "CoverFL"hide background button "CoverFR"hide background button "CoverML"hide background button "CoverMR"end ifend ifshow bg btn "All Relations"unlock screenend mouseUp</script>
  1331.     </part>
  1332.     <part>
  1333.         <id>143</id>
  1334.         <type>field</type>
  1335.         <visible> <true /> </visible>
  1336.         <dontWrap> <false /> </dontWrap>
  1337.         <dontSearch> <false /> </dontSearch>
  1338.         <sharedText> <false /> </sharedText>
  1339.         <fixedLineHeight> <true /> </fixedLineHeight>
  1340.         <autoTab> <false /> </autoTab>
  1341.         <lockText> <false /> </lockText>
  1342.         <rect>
  1343.             <left>223</left>
  1344.             <top>252</top>
  1345.             <right>295</right>
  1346.             <bottom>290</bottom>
  1347.         </rect>
  1348.         <style>transparent</style>
  1349.         <autoSelect> <false /> </autoSelect>
  1350.         <showLines> <false /> </showLines>
  1351.         <wideMargins> <false /> </wideMargins>
  1352.         <multipleLines> <false /> </multipleLines>
  1353.         <reservedFamily> 0 </reservedFamily>
  1354.         <titleWidth>0</titleWidth>
  1355.         <icon>0</icon>
  1356.         <textAlign>center</textAlign>
  1357.         <font>Helvetica</font>
  1358.         <textSize>10</textSize>
  1359.         <textStyle>plain</textStyle>
  1360.         <textHeight>12</textHeight>
  1361.         <name>MotherName</name>
  1362.         <script>on closeFieldput field "MotherName" into carrierparseOneLiner carrierput the result into field "MotherName"end closefield</script>
  1363.     </part>
  1364.     <part>
  1365.         <id>146</id>
  1366.         <type>button</type>
  1367.         <visible> <false /> </visible>
  1368.         <reserved5> 0 </reserved5>
  1369.         <reserved4> 0 </reserved4>
  1370.         <reserved3> 0 </reserved3>
  1371.         <reserved2> 0 </reserved2>
  1372.         <reserved1> 0 </reserved1>
  1373.         <enabled> <true /> </enabled>
  1374.         <rect>
  1375.             <left>451</left>
  1376.             <top>22</top>
  1377.             <right>511</right>
  1378.             <bottom>52</bottom>
  1379.         </rect>
  1380.         <style>opaque</style>
  1381.         <showName> <false /> </showName>
  1382.         <highlight> <false /> </highlight>
  1383.         <autoHighlight> <false /> </autoHighlight>
  1384.         <sharedHighlight> <true /> </sharedHighlight>
  1385.         <family>0</family>
  1386.         <titleWidth>0</titleWidth>
  1387.         <icon>0</icon>
  1388.         <textAlign>center</textAlign>
  1389.         <font>Chicago</font>
  1390.         <textSize>12</textSize>
  1391.         <textStyle>plain</textStyle>
  1392.         <name>Cover1</name>
  1393.         <script></script>
  1394.     </part>
  1395.     <part>
  1396.         <id>147</id>
  1397.         <type>button</type>
  1398.         <visible> <false /> </visible>
  1399.         <reserved5> 0 </reserved5>
  1400.         <reserved4> 0 </reserved4>
  1401.         <reserved3> 0 </reserved3>
  1402.         <reserved2> 0 </reserved2>
  1403.         <reserved1> 0 </reserved1>
  1404.         <enabled> <true /> </enabled>
  1405.         <rect>
  1406.             <left>0</left>
  1407.             <top>98</top>
  1408.             <right>13</right>
  1409.             <bottom>153</bottom>
  1410.         </rect>
  1411.         <style>opaque</style>
  1412.         <showName> <false /> </showName>
  1413.         <highlight> <false /> </highlight>
  1414.         <autoHighlight> <false /> </autoHighlight>
  1415.         <sharedHighlight> <true /> </sharedHighlight>
  1416.         <family>0</family>
  1417.         <titleWidth>0</titleWidth>
  1418.         <icon>0</icon>
  1419.         <textAlign>center</textAlign>
  1420.         <font>Chicago</font>
  1421.         <textSize>12</textSize>
  1422.         <textStyle>plain</textStyle>
  1423.         <name>Cover2</name>
  1424.         <script></script>
  1425.     </part>
  1426.     <part>
  1427.         <id>159</id>
  1428.         <type>field</type>
  1429.         <visible> <true /> </visible>
  1430.         <dontWrap> <false /> </dontWrap>
  1431.         <dontSearch> <false /> </dontSearch>
  1432.         <sharedText> <false /> </sharedText>
  1433.         <fixedLineHeight> <true /> </fixedLineHeight>
  1434.         <autoTab> <false /> </autoTab>
  1435.         <lockText> <false /> </lockText>
  1436.         <rect>
  1437.             <left>308</left>
  1438.             <top>154</top>
  1439.             <right>477</right>
  1440.             <bottom>290</bottom>
  1441.         </rect>
  1442.         <style>scrolling</style>
  1443.         <autoSelect> <false /> </autoSelect>
  1444.         <showLines> <true /> </showLines>
  1445.         <wideMargins> <false /> </wideMargins>
  1446.         <multipleLines> <false /> </multipleLines>
  1447.         <reservedFamily> 0 </reservedFamily>
  1448.         <titleWidth>0</titleWidth>
  1449.         <icon>0</icon>
  1450.         <textAlign>left</textAlign>
  1451.         <font>Helvetica</font>
  1452.         <textSize>9</textSize>
  1453.         <textStyle>plain</textStyle>
  1454.         <textHeight>11</textHeight>
  1455.         <name>Siblings</name>
  1456.         <script>on closeFieldput the target into smubblesdelete word 1 to 2 of smubblesdelete char 1 of smubblesdelete the last char of smubblesrepeat foreverif the last char of field smubbles is returnthendelete the last char of field smubbleselseexit repeatend ifend repeatend closefieldon mouseUpput scroll of field "Siblings" into synchroset the scroll of field "SiblingsMF" to synchropass mouseUpend mouseUpon mouseEnterglobal sameBkgput the ID of field "Siblings" into sameBkgput scroll of field "Siblings" into synchroset the scroll of field "SiblingsMF" to synchropass mouseEnterend mouseEnteron mouseLeaveif the short name of this card is "Tree" thenpass mouseLeaveexit mouseLeaveend ifif the short name of this card is "Intro" thenpass mouseLeaveexit mouseLeaveend ifput number of lines of field "Siblings" into leftNumberput number of lines of field "SiblingsMF" into RightNumberif leftNumber > rightNumber thenrepeat with spotter = leftnumber down to rightNumber + 1put "?" into line spotter of field "SiblingsMF"end repeatend ifif rightNumber > leftNumber thenset locktext of field "SiblingsMF" to falserepeat with spotter = rightNumber down to leftnumber + 1delete line spotter of field "SiblingsMF"end repeatset the locktext of field "SiblingsMF" to trueend ifset the locktext of field "SiblingsMF" to trueset the scroll of field "SiblingsMF" to scroll of field "Siblings"pass mouseleaveend mouseLeaveon sibRoutineglobal gender,targetName,spouseNames,parentResult, carryTo, carryFromglobal startCard,origMF,count,kidpoolparent,sibdad,sibmom, origIDput "Checking Siblings now"put field 1 into cNameput field "NameMF" into origMFif field "Siblings" of card startcard is not emptythenput field 1 of card startcard into sNameget the number of lines in field "Siblings" of card startcardput it into numLinerepeat with counter = 1 to numlineput empty into line counter of sibdadput empty into line counter of sibmomend repeatrepeat with z = 1 to numLineif line z of field "Siblings" of card startcard is empty then next repeatput line z of field "Siblings" of card startcard into carryToput the short id of this card into startspotlock screenput "card " && quote & carryTo & quote into testif objectExists(test)thennext repeatelsedomenu "New Card"add 1 to countput the short id of this card into newid-- at this point we should ask if the parents are the sameput field "fatherName" of card startcard into DadNameput field "motherName" of card startcard into MomNameput line z of field siblings of card startcard into sibNameanswer "Are " & DadName & " and " & MomName & " the parents of "¬¨& sibName & "?" with "NO" or "YES"if it is "YES" thenput DadName into field "FatherName"put MomName into field "MotherName"elseanswer "Is one of these a parent?" with DadName or MomName or"Neither"put it into choiceif choice = "Neither" thenput empty into field "FatherName"put empty into field "MotherName"end ifif choice = DadName thenput DadName into field "FatherName"put empty into field "motherName"end ifif choice = MomName thenput empty into field "FatherName"put MomName into field "MotherName"end ifend ifput field "FatherName" into line z of sibdadput field "MotherName" into line z of sibmomput field "siblings" of card startcard into field "Siblings"put field "siblingsMF" of card startcard into field "SiblingsMF"put line z of field "Siblings" into field 1put line z of field "SiblingsMF" into field "NameMF"put origMF into line z of field "SiblingsMF"set the name of this card to field 1put sName into line z of field "Siblings"end ifend repeatend ifgo to card id origIDsend "parentRoutine" to field "FatherName"end sibRoutine</script>
  1457.     </part>
  1458.     <part>
  1459.         <id>149</id>
  1460.         <type>button</type>
  1461.         <visible> <false /> </visible>
  1462.         <reserved5> 0 </reserved5>
  1463.         <reserved4> 0 </reserved4>
  1464.         <reserved3> 0 </reserved3>
  1465.         <reserved2> 0 </reserved2>
  1466.         <reserved1> 0 </reserved1>
  1467.         <enabled> <true /> </enabled>
  1468.         <rect>
  1469.             <left>0</left>
  1470.             <top>102</top>
  1471.             <right>13</right>
  1472.             <bottom>287</bottom>
  1473.         </rect>
  1474.         <style>opaque</style>
  1475.         <showName> <false /> </showName>
  1476.         <highlight> <false /> </highlight>
  1477.         <autoHighlight> <false /> </autoHighlight>
  1478.         <sharedHighlight> <true /> </sharedHighlight>
  1479.         <family>0</family>
  1480.         <titleWidth>0</titleWidth>
  1481.         <icon>0</icon>
  1482.         <textAlign>center</textAlign>
  1483.         <font>Chicago</font>
  1484.         <textSize>12</textSize>
  1485.         <textStyle>plain</textStyle>
  1486.         <name>Cover4</name>
  1487.         <script></script>
  1488.     </part>
  1489.     <part>
  1490.         <id>162</id>
  1491.         <type>field</type>
  1492.         <visible> <true /> </visible>
  1493.         <dontWrap> <false /> </dontWrap>
  1494.         <dontSearch> <false /> </dontSearch>
  1495.         <sharedText> <false /> </sharedText>
  1496.         <fixedLineHeight> <true /> </fixedLineHeight>
  1497.         <autoTab> <false /> </autoTab>
  1498.         <lockText> <false /> </lockText>
  1499.         <rect>
  1500.             <left>13</left>
  1501.             <top>154</top>
  1502.             <right>186</right>
  1503.             <bottom>290</bottom>
  1504.         </rect>
  1505.         <style>scrolling</style>
  1506.         <autoSelect> <false /> </autoSelect>
  1507.         <showLines> <true /> </showLines>
  1508.         <wideMargins> <false /> </wideMargins>
  1509.         <multipleLines> <false /> </multipleLines>
  1510.         <reservedFamily> 0 </reservedFamily>
  1511.         <titleWidth>0</titleWidth>
  1512.         <icon>0</icon>
  1513.         <textAlign>left</textAlign>
  1514.         <font>Helvetica</font>
  1515.         <textSize>9</textSize>
  1516.         <textStyle>plain</textStyle>
  1517.         <textHeight>11</textHeight>
  1518.         <name>Kids</name>
  1519.         <script>on closeFieldput the target into smubblesdelete word 1 to 2 of smubblesdelete char 1 of smubblesdelete the last char of smubblesrepeat foreverif the last char of field smubbles is returnthendelete the last char of field smubbleselseexit repeatend ifend repeatend closefieldon mouseUpset the scroll of field "KidsMF" to scroll of field "Kids"end mouseUpon mouseWithin--set the scroll of field "KidsMF" to scroll of field "Kids"pass mouseWithinend mouseWithinon mouseEnterglobal sameBkgput the ID of field "Kids" into sameBkgset the scroll of field "KidsMF" to scroll of field "Kids"pass mouseEnterend mouseEnteron mouseLeaveif the short name of this card is "Tree" thenpass mouseLeaveexit mouseLeaveend ifif the short name of this card is "Intro" thenpass mouseLeaveexit mouseLeaveend ifglobal sameBKGif the ID of field "Kids"  = sameBKG thenput number of lines of field "Kids" into leftNumberput number of lines of field "KidsMF" into RightNumberif leftNumber > rightNumber thenrepeat with spotter = leftnumber down to rightNumber + 1put "?" into line spotter of field "KidsMF"end repeatend ifif rightNumber > leftNumber thenset locktext of field "KidsMF" to falserepeat with spotter = rightNumber down to leftnumber + 1delete line spotter of field "KidsMF"end repeatend ifset the locktext of field "KidsMF" to trueset the scroll of field "KidsMF" to scroll of field "Kids"pass mouseLeaveend ifend mouseLeaveon childrenRoutineglobal gender,targetName,spouseNames,parentResult, origIDglobal startCard,origMF,count,kidpoolparent, carryTo, carryFromput "Checking Children now"put field 1 of card startcard into cNameput field "NameMF" of card startCard into MFput cName into targetNamefillspousesif field "Kids" of card startcard is not emptythenget the number of lines in field "Kids" of card startCardput it into numLinerepeat with z = 1 to numLineget line z of field "Kids" of card startCardif it is empty then next repeatput it into carryToput the short id of this card into startSpotlock screenput "card " && quote & carryTo & quote into testif objectExists(test)thennext repeatelsedoMenu "New Card"put (count + 1) into countput line z of field "Kids" of card startCard into field 1put line z of field "KidsMF" of card startCard into field¬¨"NameMF"if MF is "M" thenput field 1 of card startCard into field "FatherName"elseput field 1 of card startcard into field "MotherName"end if-- Determine the other parent nameif spouseNames is not empty then-- do an automatic check against spousenamesput empty into parentResultrepeat with counter = 1 to number of lines of spouseNamesput the last word of line z of field "Kids" of card startcard into kidHoldput the last word of line counter of spousenames into parentHoldif parentHold = kidHold thenput line counter of spouseNames into parentResultexit repeatend ifend repeatif parentResult is empty thenput "Which is the correct parent for " into quizput line z of field "Kids" of card startCard after quizput "?" after quizif line z of kidPoolParent is not empty thenput line z of kidpoolParent into parentResultelseif the number of lines of spouseNames = 1 thenput line 1 of SpouseNames into parentResultend ifif number of lines of spousenames = 2 thenanswer quiz with line 1 of spousenames or line 2 of spousenamesput it into parentResultend ifif number of lines of spousenames = 3 thenanswer quiz with line 1 of spousenames or line 2 of spousenames or ¬¨line 3 of spousenamesput it into parentResultend ifif number of lines of spouseNames = 4 thenanswer quiz with line 1 of spousenames or line 2 of spousenames or "Other"put it into parentResultif it is "Other" thenanswer quiz with line 3 of spousenames or line 4 of spousenames or "Other"put it into parentResultif parentResult = "Other" then put empty into parentResultend ifend ifend ifend ifif MF is "M" thenput parentResult into field "MotherName"elseput parentResult into field "FatherName"end ifend ifput field "kids" of card startcard into field "Siblings"put field "kidsMF" of card startcard into field "SiblingsMF"delete line z of field "Siblings"delete line z of field "SiblingsMF"lock screenset the name of this card to field 1end ifend repeatend ifgo to card (startCard)set cursor to 1if count > 0 then put countif count is empty then put "No"if (count > 1) or (count is empty) thenput " new cards have been created and partially filled" after msgelseif (count = 1) thenput " new card has been created and partially filled" after msgend ifend ifset lockText of field "KidsMF" to trueend childrenroutine</script>
  1520.     </part>
  1521.     <part>
  1522.         <id>151</id>
  1523.         <type>button</type>
  1524.         <visible> <false /> </visible>
  1525.         <reserved5> 0 </reserved5>
  1526.         <reserved4> 0 </reserved4>
  1527.         <reserved3> 0 </reserved3>
  1528.         <reserved2> 0 </reserved2>
  1529.         <reserved1> 0 </reserved1>
  1530.         <enabled> <true /> </enabled>
  1531.         <rect>
  1532.             <left>296</left>
  1533.             <top>156</top>
  1534.             <right>308</right>
  1535.             <bottom>290</bottom>
  1536.         </rect>
  1537.         <style>opaque</style>
  1538.         <showName> <false /> </showName>
  1539.         <highlight> <false /> </highlight>
  1540.         <autoHighlight> <false /> </autoHighlight>
  1541.         <sharedHighlight> <true /> </sharedHighlight>
  1542.         <family>0</family>
  1543.         <titleWidth>0</titleWidth>
  1544.         <icon>0</icon>
  1545.         <textAlign>center</textAlign>
  1546.         <font>Chicago</font>
  1547.         <textSize>12</textSize>
  1548.         <textStyle>plain</textStyle>
  1549.         <name>Cover6</name>
  1550.         <script></script>
  1551.     </part>
  1552.     <part>
  1553.         <id>168</id>
  1554.         <type>button</type>
  1555.         <visible> <false /> </visible>
  1556.         <reserved5> 0 </reserved5>
  1557.         <reserved4> 0 </reserved4>
  1558.         <reserved3> 0 </reserved3>
  1559.         <reserved2> 0 </reserved2>
  1560.         <reserved1> 0 </reserved1>
  1561.         <enabled> <true /> </enabled>
  1562.         <rect>
  1563.             <left>222</left>
  1564.             <top>194</top>
  1565.             <right>239</right>
  1566.             <bottom>207</bottom>
  1567.         </rect>
  1568.         <style>opaque</style>
  1569.         <showName> <false /> </showName>
  1570.         <highlight> <false /> </highlight>
  1571.         <autoHighlight> <false /> </autoHighlight>
  1572.         <sharedHighlight> <true /> </sharedHighlight>
  1573.         <family>0</family>
  1574.         <titleWidth>0</titleWidth>
  1575.         <icon>0</icon>
  1576.         <textAlign>center</textAlign>
  1577.         <font>Chicago</font>
  1578.         <textSize>12</textSize>
  1579.         <textStyle>plain</textStyle>
  1580.         <name>CoverFL</name>
  1581.         <script></script>
  1582.     </part>
  1583.     <part>
  1584.         <id>169</id>
  1585.         <type>button</type>
  1586.         <visible> <false /> </visible>
  1587.         <reserved5> 0 </reserved5>
  1588.         <reserved4> 0 </reserved4>
  1589.         <reserved3> 0 </reserved3>
  1590.         <reserved2> 0 </reserved2>
  1591.         <reserved1> 0 </reserved1>
  1592.         <enabled> <true /> </enabled>
  1593.         <rect>
  1594.             <left>276</left>
  1595.             <top>194</top>
  1596.             <right>294</right>
  1597.             <bottom>208</bottom>
  1598.         </rect>
  1599.         <style>opaque</style>
  1600.         <showName> <false /> </showName>
  1601.         <highlight> <false /> </highlight>
  1602.         <autoHighlight> <false /> </autoHighlight>
  1603.         <sharedHighlight> <true /> </sharedHighlight>
  1604.         <family>0</family>
  1605.         <titleWidth>0</titleWidth>
  1606.         <icon>0</icon>
  1607.         <textAlign>center</textAlign>
  1608.         <font>Chicago</font>
  1609.         <textSize>12</textSize>
  1610.         <textStyle>plain</textStyle>
  1611.         <name>CoverFR</name>
  1612.         <script></script>
  1613.     </part>
  1614.     <part>
  1615.         <id>170</id>
  1616.         <type>button</type>
  1617.         <visible> <false /> </visible>
  1618.         <reserved5> 0 </reserved5>
  1619.         <reserved4> 0 </reserved4>
  1620.         <reserved3> 0 </reserved3>
  1621.         <reserved2> 0 </reserved2>
  1622.         <reserved1> 0 </reserved1>
  1623.         <enabled> <true /> </enabled>
  1624.         <rect>
  1625.             <left>221</left>
  1626.             <top>239</top>
  1627.             <right>238</right>
  1628.             <bottom>254</bottom>
  1629.         </rect>
  1630.         <style>opaque</style>
  1631.         <showName> <false /> </showName>
  1632.         <highlight> <false /> </highlight>
  1633.         <autoHighlight> <false /> </autoHighlight>
  1634.         <sharedHighlight> <true /> </sharedHighlight>
  1635.         <family>0</family>
  1636.         <titleWidth>0</titleWidth>
  1637.         <icon>0</icon>
  1638.         <textAlign>center</textAlign>
  1639.         <font>Chicago</font>
  1640.         <textSize>12</textSize>
  1641.         <textStyle>plain</textStyle>
  1642.         <name>CoverML</name>
  1643.         <script></script>
  1644.     </part>
  1645.     <part>
  1646.         <id>171</id>
  1647.         <type>button</type>
  1648.         <visible> <false /> </visible>
  1649.         <reserved5> 0 </reserved5>
  1650.         <reserved4> 0 </reserved4>
  1651.         <reserved3> 0 </reserved3>
  1652.         <reserved2> 0 </reserved2>
  1653.         <reserved1> 0 </reserved1>
  1654.         <enabled> <true /> </enabled>
  1655.         <rect>
  1656.             <left>277</left>
  1657.             <top>241</top>
  1658.             <right>293</right>
  1659.             <bottom>254</bottom>
  1660.         </rect>
  1661.         <style>opaque</style>
  1662.         <showName> <false /> </showName>
  1663.         <highlight> <false /> </highlight>
  1664.         <autoHighlight> <false /> </autoHighlight>
  1665.         <sharedHighlight> <true /> </sharedHighlight>
  1666.         <family>0</family>
  1667.         <titleWidth>0</titleWidth>
  1668.         <icon>0</icon>
  1669.         <textAlign>center</textAlign>
  1670.         <font>Chicago</font>
  1671.         <textSize>12</textSize>
  1672.         <textStyle>plain</textStyle>
  1673.         <name>CoverMR</name>
  1674.         <script></script>
  1675.     </part>
  1676.     <part>
  1677.         <id>156</id>
  1678.         <type>button</type>
  1679.         <visible> <true /> </visible>
  1680.         <reserved5> 0 </reserved5>
  1681.         <reserved4> 0 </reserved4>
  1682.         <reserved3> 0 </reserved3>
  1683.         <reserved2> 0 </reserved2>
  1684.         <reserved1> 0 </reserved1>
  1685.         <enabled> <true /> </enabled>
  1686.         <rect>
  1687.             <left>0</left>
  1688.             <top>66</top>
  1689.             <right>12</right>
  1690.             <bottom>78</bottom>
  1691.         </rect>
  1692.         <style>transparent</style>
  1693.         <showName> <false /> </showName>
  1694.         <highlight> <false /> </highlight>
  1695.         <autoHighlight> <false /> </autoHighlight>
  1696.         <sharedHighlight> <true /> </sharedHighlight>
  1697.         <family>0</family>
  1698.         <titleWidth>0</titleWidth>
  1699.         <icon>0</icon>
  1700.         <textAlign>center</textAlign>
  1701.         <font>Chicago</font>
  1702.         <textSize>12</textSize>
  1703.         <textStyle>plain</textStyle>
  1704.         <name></name>
  1705.         <script>on mouseUpend mouseUp</script>
  1706.     </part>
  1707.     <part>
  1708.         <id>158</id>
  1709.         <type>field</type>
  1710.         <visible> <true /> </visible>
  1711.         <dontWrap> <false /> </dontWrap>
  1712.         <dontSearch> <false /> </dontSearch>
  1713.         <sharedText> <false /> </sharedText>
  1714.         <fixedLineHeight> <true /> </fixedLineHeight>
  1715.         <autoTab> <false /> </autoTab>
  1716.         <lockText> <true /> </lockText>
  1717.         <rect>
  1718.             <left>208</left>
  1719.             <top>324</top>
  1720.             <right>305</right>
  1721.             <bottom>342</bottom>
  1722.         </rect>
  1723.         <style>transparent</style>
  1724.         <autoSelect> <false /> </autoSelect>
  1725.         <showLines> <false /> </showLines>
  1726.         <wideMargins> <false /> </wideMargins>
  1727.         <multipleLines> <false /> </multipleLines>
  1728.         <reservedFamily> 0 </reservedFamily>
  1729.         <titleWidth>0</titleWidth>
  1730.         <icon>0</icon>
  1731.         <textAlign>center</textAlign>
  1732.         <font>Helvetica</font>
  1733.         <textSize>9</textSize>
  1734.         <textStyle>plain</textStyle>
  1735.         <textHeight>12</textHeight>
  1736.         <name>Cards</name>
  1737.         <script></script>
  1738.     </part>
  1739.     <part>
  1740.         <id>163</id>
  1741.         <type>button</type>
  1742.         <visible> <true /> </visible>
  1743.         <reserved5> 0 </reserved5>
  1744.         <reserved4> 0 </reserved4>
  1745.         <reserved3> 0 </reserved3>
  1746.         <reserved2> 0 </reserved2>
  1747.         <reserved1> 0 </reserved1>
  1748.         <enabled> <true /> </enabled>
  1749.         <rect>
  1750.             <left>0</left>
  1751.             <top>155</top>
  1752.             <right>13</right>
  1753.             <bottom>287</bottom>
  1754.         </rect>
  1755.         <style>transparent</style>
  1756.         <showName> <false /> </showName>
  1757.         <highlight> <false /> </highlight>
  1758.         <autoHighlight> <false /> </autoHighlight>
  1759.         <sharedHighlight> <true /> </sharedHighlight>
  1760.         <family>0</family>
  1761.         <titleWidth>0</titleWidth>
  1762.         <icon>0</icon>
  1763.         <textAlign>center</textAlign>
  1764.         <font>Chicago</font>
  1765.         <textSize>12</textSize>
  1766.         <textStyle>plain</textStyle>
  1767.         <name>Jump from Children</name>
  1768.         <script>on mouseUpglobal treeStartput (item 2 of the clickloc - 142 + scroll of field "Kids") div 11 into lineNumput (line lineNum of field "Kids") into treeStartput "card " && quote & treestart & quote into testif treeStart is empty then exit mouseupif objectExists(test)thenpush cardsend doTheTree to card "Tree"elseput "there is no card for " & treestartend ifend mouseUp</script>
  1769.     </part>
  1770.     <part>
  1771.         <id>172</id>
  1772.         <type>field</type>
  1773.         <visible> <true /> </visible>
  1774.         <dontWrap> <false /> </dontWrap>
  1775.         <dontSearch> <false /> </dontSearch>
  1776.         <sharedText> <false /> </sharedText>
  1777.         <fixedLineHeight> <true /> </fixedLineHeight>
  1778.         <autoTab> <false /> </autoTab>
  1779.         <lockText> <true /> </lockText>
  1780.         <rect>
  1781.             <left>185</left>
  1782.             <top>154</top>
  1783.             <right>218</right>
  1784.             <bottom>290</bottom>
  1785.         </rect>
  1786.         <style>scrolling</style>
  1787.         <autoSelect> <false /> </autoSelect>
  1788.         <showLines> <true /> </showLines>
  1789.         <wideMargins> <false /> </wideMargins>
  1790.         <multipleLines> <false /> </multipleLines>
  1791.         <reservedFamily> 0 </reservedFamily>
  1792.         <titleWidth>0</titleWidth>
  1793.         <icon>0</icon>
  1794.         <textAlign>left</textAlign>
  1795.         <font>Helvetica</font>
  1796.         <textSize>10</textSize>
  1797.         <textStyle>bold</textStyle>
  1798.         <textHeight>11</textHeight>
  1799.         <name>KidsMF</name>
  1800.         <script>on mouseUpset lockText of field 24 to falseput (item 2 of the clickloc - 142 + scroll of field "Kids") div 11 into lineNumif line lineNum of field "Kids" is emptythenput empty into line lineNum of field "KidsMF"set lockText of field 24 to trueexit mouseUpend ifif line lineNum of field "KidsMF" = "?"thenput "M" into line lineNum of field "KidsMF"elseif line lineNum of field "KidsMF" is emptythenput "M" into line lineNum of field "KidsMF"elseif line lineNum of field "KidsMF" is "M"then put "F" into line lineNum of field "KidsMF"elseif line lineNum of field "KidsMF" is "F"thenput empty into line lineNum of field "KidsMF"end ifend ifend ifend ifset lockText of field 24 to trueend mouseUpon mouseEnterput scroll of field "Kids" into jumperset the scroll of field "KidsMF" to jumperpass mouseEnterend mouseEnter</script>
  1801.     </part>
  1802.     <part>
  1803.         <id>164</id>
  1804.         <type>button</type>
  1805.         <visible> <true /> </visible>
  1806.         <reserved5> 0 </reserved5>
  1807.         <reserved4> 0 </reserved4>
  1808.         <reserved3> 0 </reserved3>
  1809.         <reserved2> 0 </reserved2>
  1810.         <reserved1> 0 </reserved1>
  1811.         <enabled> <true /> </enabled>
  1812.         <rect>
  1813.             <left>0</left>
  1814.             <top>53</top>
  1815.             <right>12</right>
  1816.             <bottom>65</bottom>
  1817.         </rect>
  1818.         <style>transparent</style>
  1819.         <showName> <false /> </showName>
  1820.         <highlight> <false /> </highlight>
  1821.         <autoHighlight> <false /> </autoHighlight>
  1822.         <sharedHighlight> <true /> </sharedHighlight>
  1823.         <family>0</family>
  1824.         <titleWidth>0</titleWidth>
  1825.         <icon>0</icon>
  1826.         <textAlign>center</textAlign>
  1827.         <font>Chicago</font>
  1828.         <textSize>12</textSize>
  1829.         <textStyle>plain</textStyle>
  1830.         <name></name>
  1831.         <script>on mouseUpend mouseUp</script>
  1832.     </part>
  1833.     <part>
  1834.         <id>173</id>
  1835.         <type>field</type>
  1836.         <visible> <true /> </visible>
  1837.         <dontWrap> <false /> </dontWrap>
  1838.         <dontSearch> <false /> </dontSearch>
  1839.         <sharedText> <false /> </sharedText>
  1840.         <fixedLineHeight> <true /> </fixedLineHeight>
  1841.         <autoTab> <false /> </autoTab>
  1842.         <lockText> <true /> </lockText>
  1843.         <rect>
  1844.             <left>476</left>
  1845.             <top>154</top>
  1846.             <right>509</right>
  1847.             <bottom>290</bottom>
  1848.         </rect>
  1849.         <style>scrolling</style>
  1850.         <autoSelect> <false /> </autoSelect>
  1851.         <showLines> <true /> </showLines>
  1852.         <wideMargins> <false /> </wideMargins>
  1853.         <multipleLines> <false /> </multipleLines>
  1854.         <reservedFamily> 0 </reservedFamily>
  1855.         <titleWidth>0</titleWidth>
  1856.         <icon>0</icon>
  1857.         <textAlign>left</textAlign>
  1858.         <font>Helvetica</font>
  1859.         <textSize>10</textSize>
  1860.         <textStyle>bold</textStyle>
  1861.         <textHeight>11</textHeight>
  1862.         <name>SiblingsMF</name>
  1863.         <script>on mouseUpset lockText of field 24 to falseput (item 2 of the clickloc - 142 + scroll of field "Siblings") div 11 into lineNumif line lineNum of field "Siblings" is emptythenput empty into line lineNum of field "SiblingsMF"set lockText of field 23 to trueexit mouseUpend ifif line lineNum of field "SiblingsMF" = "?"thenput "M" into line lineNum of field "SiblingsMF"elseif line lineNum of field "SiblingsMF" is emptythenput "M" into line lineNum of field "SiblingsMF"elseif line lineNum of field "SiblingsMF" is "M"then put "F" into line lineNum of field "SiblingsMF"elseif line lineNum of field "SiblingsMF" is "F"thenput empty into line lineNum of field "SiblingsMF"end ifend ifend ifend ifset lockText of field 23 to trueend mouseUpon mouseEnterset the scroll of field "SiblingsMF" to scroll of field "Siblings"pass mouseEnterend mouseEnter</script>
  1864.     </part>
  1865.     <part>
  1866.         <id>194</id>
  1867.         <type>button</type>
  1868.         <visible> <true /> </visible>
  1869.         <reserved5> 0 </reserved5>
  1870.         <reserved4> 0 </reserved4>
  1871.         <reserved3> 0 </reserved3>
  1872.         <reserved2> 0 </reserved2>
  1873.         <reserved1> 0 </reserved1>
  1874.         <enabled> <true /> </enabled>
  1875.         <rect>
  1876.             <left>2</left>
  1877.             <top>1</top>
  1878.             <right>63</right>
  1879.             <bottom>50</bottom>
  1880.         </rect>
  1881.         <style>transparent</style>
  1882.         <showName> <true /> </showName>
  1883.         <highlight> <false /> </highlight>
  1884.         <autoHighlight> <false /> </autoHighlight>
  1885.         <sharedHighlight> <true /> </sharedHighlight>
  1886.         <family>0</family>
  1887.         <titleWidth>0</titleWidth>
  1888.         <icon>14088</icon>
  1889.         <textAlign>center</textAlign>
  1890.         <font>Chicago</font>
  1891.         <textSize>12</textSize>
  1892.         <textStyle>plain</textStyle>
  1893.         <name>Find Card</name>
  1894.         <script>on mouseUpput "find "& quote & " " & quote & " in field 1"select seventh character of messageend mouseUp</script>
  1895.     </part>
  1896.     <part>
  1897.         <id>242</id>
  1898.         <type>button</type>
  1899.         <visible> <true /> </visible>
  1900.         <reserved5> 0 </reserved5>
  1901.         <reserved4> 0 </reserved4>
  1902.         <reserved3> 0 </reserved3>
  1903.         <reserved2> 0 </reserved2>
  1904.         <reserved1> 0 </reserved1>
  1905.         <enabled> <true /> </enabled>
  1906.         <rect>
  1907.             <left>62</left>
  1908.             <top>61</top>
  1909.             <right>80</right>
  1910.             <bottom>77</bottom>
  1911.         </rect>
  1912.         <style>radiobutton</style>
  1913.         <showName> <true /> </showName>
  1914.         <highlight> <false /> </highlight>
  1915.         <autoHighlight> <false /> </autoHighlight>
  1916.         <sharedHighlight> <false /> </sharedHighlight>
  1917.         <family>0</family>
  1918.         <titleWidth>0</titleWidth>
  1919.         <icon>0</icon>
  1920.         <textAlign>center</textAlign>
  1921.         <font>Chicago</font>
  1922.         <textSize>12</textSize>
  1923.         <textStyle>plain</textStyle>
  1924.         <name>Pictures Present</name>
  1925.         <script></script>
  1926.     </part>
  1927.     <part>
  1928.         <id>239</id>
  1929.         <type>button</type>
  1930.         <visible> <true /> </visible>
  1931.         <reserved5> 0 </reserved5>
  1932.         <reserved4> 0 </reserved4>
  1933.         <reserved3> 0 </reserved3>
  1934.         <reserved2> 0 </reserved2>
  1935.         <reserved1> 0 </reserved1>
  1936.         <enabled> <true /> </enabled>
  1937.         <rect>
  1938.             <left>15</left>
  1939.             <top>53</top>
  1940.             <right>63</right>
  1941.             <bottom>92</bottom>
  1942.         </rect>
  1943.         <style>transparent</style>
  1944.         <showName> <true /> </showName>
  1945.         <highlight> <false /> </highlight>
  1946.         <autoHighlight> <false /> </autoHighlight>
  1947.         <sharedHighlight> <true /> </sharedHighlight>
  1948.         <family>0</family>
  1949.         <titleWidth>-1</titleWidth>
  1950.         <icon>-30761</icon>
  1951.         <textAlign>center</textAlign>
  1952.         <font>Chicago</font>
  1953.         <textSize>12</textSize>
  1954.         <textStyle>plain</textStyle>
  1955.         <name>Pictures</name>
  1956.         <script>on mouseDownglobal pictChoices,pictSelect, temp,pictChoices2, PictShort--get the menu information readyput the ticks into starttickset cursor to 4put empty into itemsif PictChoices is empty then putFieldIntoVariableputCurrentIntoVariableif pictShort is empty then gatherPictNamesput "Add Picture,from Clipboard,from Disk File" into line 1 of itemsput "Attach Existing PICT," & pictShort into line 2 of itemsput "Show Picture," & pictChoices into line 3 of itemsPut "Show All Pictures"into line 4 of itemsput "Hide Picture," & PictChoices2 into line 5 of itemsput "Hide All Pictures" into line 6 of itemsput " " into line 7 of itemsput "Delete Picture," & pictChoices into line 8 of itemsput the clickLoc into tempset cursor to handput HPopupMenu(items,0,item 2 of temp,(item 1 of temp)+1) into choiceif item 1 of choice = "0"thenput the ticks into endticksubtract starttick from endtickif endtick < 90 then answer "Hold mouse button down on button to see choices."end ifif item 1 of choice = "1" and item 2 of choice = "2"thendoAddClipelseif item 1 of choice = "1" and item 2 of choice = "3"thendoADDFileelseif item 1 of choice = 2 and item 2 of choice > 0thenput item 2 of choice into pointersubtract 1 from pointerput item pointer of PictShort into¬¨line (number of lines of field "Pict Names" + 1) of field "Pict Names"put sortFieldByItem(field "Pict Names",1) into PictCput PictC into field "Pict Names"putFieldIntoVariableelseif item 1 of choice = "3" and item 2 of choice > 1thenput item 2 of choice into pictSelectdoShowPictelseif item 1 of choice = "4"thendoShowAllelseif item 1 of choice = "5" and item 2 of choice > 1thenput item 2 of choice into pictSelectdoHidePictelseif item 1 of choice = "6"thendoHideAllelseif item 1 of choice = 8 and item 2 of choice >1thenput item 2 of choice into pictSelectdodeletePictend ifend ifend ifend ifend ifend ifend ifend ifend mouseDownon gatherPictNamesglobal PictShortput the long name of this stack into stackNamedelete first word of stackNameif the first char  of stackName = quote then delete first char of stackNameif the last char of stackName = quote then delete last char of stackNameput resList(stackName,PICT) into PictInfo2put SortFieldByItem(pictInfo2,2) into PictInfoput empty into PictShortrepeat with x = 1 to number of lines of PictInfoput item 2 of line x of PictInfo into item x of PictShortend repeatend gatherPictNameson doADDClipglobal startNamegetPictNameput ClipTOPict(,startname) into globif first word of glob <> "Error"thenput startName into line ((number of lines of field "Pict Names") + 1) of field "Pict Names"put sortFieldByItem(field "Pict Names",1) into PictCput PictC into field "Pict Names"gatherPictNamesputFieldIntoVariableend ifend doADDClipon doADDFileglobal startNamegetPictNameget PICTFileToRes(,StartName)if it is "Cancel" then exit doADDFileset cursor to 4if the first word of glob ‚↠"Error"thenput startName into line ((number of lines of field "Pict Names") + 1) of field "Pict Names"put sortFieldByItem(field "Pict Names",1) into PictCput PictC into field "Pict Names"gatherPictNamesputFieldIntoVariableend ifend doADDFileon doShowPictglobal pictSelect, temp, currentPicturesset cursor to 4put pictSelect -1 into lineNoput field "Pict Names" into globput line lineNo of glob into targetPictput item 1 of temp into topput item 2 of temp into leftadd (pictSelect * 20) to topadd (pictSelect * 20) to leftpictureShow targetPict,top,left,16if the result is  emptythenput targetPict into line (number of lines of currentPictures +1) of currentPicturesput sortFieldByItem(CurrentPictures,1) into PictHolderput PictHolder into currentPicturesend ifend doShowPicton doShowAllglobal pictSelectput field "pict Names" into rotorif number of lines of rotor > 0thenrepeat with x = 1 to number of lines of rotorput x + 1 into pictSelectdoShowPictend repeatend ifend doShowAllon doHidePictglobal currentPictures, pictSelectset cursor to 4put (pictSelect - 1 ) into pointerput line pointer of currentPictures into PictNamepictureHide PictNamedelete line pointer of currentPicturesput sortFieldByItem(CurrentPictures,1) into PictHolderput PictHolder into currentPicturesend doHidePicton doHideAllglobal pictSelect, currentPicturesif number of lines of currentPictures > 0thenput number of lines of currentPictures into countrepeat with x = 1 to countput "2" into pictSelectdoHidePictend repeatend ifend doHideAllon doDeletePictglobal pictSelectset cursor to 4put pictSelect - 1 into pointerput line pointer of field "Pict Names" into PictNameanswer "Where Do Want this deleted from?" with "Card" or "Card & Stack" or "Cancel"if it is "Cancel" then exit doDeletePictput it into responseif the last char of PictName is return then delete the last char of PictNameif response contains "Stack" then ResDelete ,"PICT",PictNameif the result is not empty then put the resultdelete line pointer of field "Pict Names"gatherPictNamesputFieldIntoVariableend doDeletePicton putFieldIntoVariableglobal pictChoicesput empty into pictChoicesput field "Pict Names" into PictHolderif pictHolder is not emptythenrepeat with x = 1 to number of lines of PictHolderput line x of PictHolder into holderif the last char of holder is return then delete last char of holderput holder into item x of pictChoicesend repeatelseput empty into pictChoicesend ifend putFieldIntoVariableon putCurrentIntoVariableglobal pictChoices2, currentPicturesput empty into pictChoices2repeat with x = 1 to number of lines of currentPicturesput line x of currentPictures into holderif the last char of holder is return then delete last char of holderput holder into item x of pictChoices2end repeatend putCurrentIntoVariableon replacecommasglobal startNamerepeat foreverput offset(",",startname) into pointerif pointer = 0 then exit replacecommasput "*" into char pointer of startnameend repeatend replacecommason getPictNameglobal startNameput field "Name" into startNamereplacecommasask "Please enter a name for this picture." with startNameif it is empty then exit to HyperCardput it into startNamereplacecommasput startName into startName2if the first char of startName2 is not quote then put quote before startName2if the last char of startName2 is not quote then put quote after startName2put IsResource("PICT", startName2) into isThereif isThere is not "FALSE"thenrepeat foreverif the first char of startName2 is quote then delete the first char of startName2if the first char of startName2 is quote then delete the first char of startName2ask "That Name is already used for a picture, please modify it." with startName2if it is empty then exit to hypercardput it into startNamereplaceCommasput startName into startname2if the first char of startName2 is not quote then put quote before startNameif the last char of startName2 is not quote then put quote after startNameput IsResource("PICT", startName2) into isThereif isThere is "FALSE" then exit repeatend repeatend ifset cursor to 4end getPictName</script>
  1957.     </part>
  1958.     <part>
  1959.         <id>139</id>
  1960.         <type>field</type>
  1961.         <visible> <false /> </visible>
  1962.         <dontWrap> <false /> </dontWrap>
  1963.         <dontSearch> <false /> </dontSearch>
  1964.         <sharedText> <false /> </sharedText>
  1965.         <fixedLineHeight> <true /> </fixedLineHeight>
  1966.         <autoTab> <false /> </autoTab>
  1967.         <lockText> <false /> </lockText>
  1968.         <rect>
  1969.             <left>1</left>
  1970.             <top>51</top>
  1971.             <right>512</right>
  1972.             <bottom>292</bottom>
  1973.         </rect>
  1974.         <style>scrolling</style>
  1975.         <autoSelect> <false /> </autoSelect>
  1976.         <showLines> <true /> </showLines>
  1977.         <wideMargins> <true /> </wideMargins>
  1978.         <multipleLines> <false /> </multipleLines>
  1979.         <reservedFamily> 0 </reservedFamily>
  1980.         <titleWidth>0</titleWidth>
  1981.         <icon>0</icon>
  1982.         <textAlign>left</textAlign>
  1983.         <font>Helvetica</font>
  1984.         <textSize>12</textSize>
  1985.         <textStyle>plain</textStyle>
  1986.         <textHeight>16</textHeight>
  1987.         <name>Story</name>
  1988.         <script></script>
  1989.     </part>
  1990.     <part>
  1991.         <id>174</id>
  1992.         <type>field</type>
  1993.         <visible> <true /> </visible>
  1994.         <dontWrap> <false /> </dontWrap>
  1995.         <dontSearch> <false /> </dontSearch>
  1996.         <sharedText> <false /> </sharedText>
  1997.         <fixedLineHeight> <true /> </fixedLineHeight>
  1998.         <autoTab> <false /> </autoTab>
  1999.         <lockText> <true /> </lockText>
  2000.         <rect>
  2001.             <left>407</left>
  2002.             <top>5</top>
  2003.             <right>430</right>
  2004.             <bottom>28</bottom>
  2005.         </rect>
  2006.         <style>shadow</style>
  2007.         <autoSelect> <false /> </autoSelect>
  2008.         <showLines> <false /> </showLines>
  2009.         <wideMargins> <false /> </wideMargins>
  2010.         <multipleLines> <false /> </multipleLines>
  2011.         <reservedFamily> 0 </reservedFamily>
  2012.         <titleWidth>0</titleWidth>
  2013.         <icon>0</icon>
  2014.         <textAlign>left</textAlign>
  2015.         <font>New York</font>
  2016.         <textSize>14</textSize>
  2017.         <textStyle>bold</textStyle>
  2018.         <textHeight>18</textHeight>
  2019.         <name>NameMF</name>
  2020.         <script>on mouseUpset lockText of field 27 to falseif field 1 is emptythenput empty into field "NameMF"set lockText of field 27 to trueexit mouseUpend ifif field "NameMF" is emptythenput "M" into field "NameMF"elseif field "NameMF" is "M"then put "F" into field "NameMF"elseif field "NameMF" is "F"thenput empty into field "NameMF"end ifend ifend ifset lockText of field 27 to trueend mouseUp</script>
  2021.     </part>
  2022.     <part>
  2023.         <id>195</id>
  2024.         <type>button</type>
  2025.         <visible> <true /> </visible>
  2026.         <reserved5> 0 </reserved5>
  2027.         <reserved4> 0 </reserved4>
  2028.         <reserved3> 0 </reserved3>
  2029.         <reserved2> 0 </reserved2>
  2030.         <reserved1> 0 </reserved1>
  2031.         <enabled> <true /> </enabled>
  2032.         <rect>
  2033.             <left>453</left>
  2034.             <top>2</top>
  2035.             <right>510</right>
  2036.             <bottom>49</bottom>
  2037.         </rect>
  2038.         <style>transparent</style>
  2039.         <showName> <true /> </showName>
  2040.         <highlight> <false /> </highlight>
  2041.         <autoHighlight> <false /> </autoHighlight>
  2042.         <sharedHighlight> <true /> </sharedHighlight>
  2043.         <family>0</family>
  2044.         <titleWidth>0</titleWidth>
  2045.         <icon>6226</icon>
  2046.         <textAlign>center</textAlign>
  2047.         <font>Chicago</font>
  2048.         <textSize>12</textSize>
  2049.         <textStyle>plain</textStyle>
  2050.         <name>Reports</name>
  2051.         <script>on mouseDownGlobal mylastput the ticks into starttickif card field "YIWASBTRERHEP" of card "Tree" is "NOREPORTS"thenanswer "60 days have elapsed sine trial started without shareware registration. Reports are disbled until fee is received." with "Guilty"exit mousedownend ifget the rect of meput item 2 of it into myTopput item 1 of it into myLeftif the optionKey is downthenput empty into holderput "  Choose Special Report Below" into repNamesput card field "Report Names" of card "Intro" into holderif Holder is emptythenanswer "Special Reports are not loaded."exit mouseDownend ifrepeat with x = 1 to number of lines of holderif line x of holder is not emptythenput "," & line x of holder after repNamesend ifif last char of holder is return then delete last char of repnamesend repeatput poplist(repnames,myleft,mytop,0) into repchoiceif repchoice = 0thenput the ticks into endticksubtract starttick from endtickif endtick < 90 then answer "Hold mouse button down on button to see choices."exit mouseDownend ifif repchoice = 2 then send doReport to card field "report1" of card "intro"if repchoice = 3 then send doReport to card field "report2" of card "intro"if repchoice = 4 then send doReport to card field "report3" of card "intro"if repchoice = 5 then send doReport to card field "report4" of card "intro"if repchoice = 6 then send doReport to card field "report5" of card "intro"if repchoice = 7 then send doReport to card field "report6" of card "intro"exit mouseDownend ifput "  Choose Report Below,All Relations,Descendants,Pedigree," into menListput "Print Marked Cards,Text File Listing,Hanging Names,\-," after menListput "Alpha Listing,Birthday Export,\-," after menListput "Floater Report,Duplicates Report,Space Invaders,Integrity Report,\-," after menListput "Mark Cards" after menListput menList into menList2put ",\-,Load Special Reports" after menList2put empty into myLastif the shiftKey is downthenput PopList(menList2,myleft,mytop,0) into myLastelseput poplist(menList,myleft,mytop,0) into myLastend ifif mylast > 1thenprocessReportexit mousedownend ifif mylast = 1 then exit mousedownif myLast = 15thenpush cardHTHelperexit mouseDownelseput the ticks into endticksubtract starttick from endtickif endtick < 90 then answer "Hold mouse button down on button to see choices."end ifend mouseDownon processReportglobal origID, myLastput the short id of this card into origIDset cursor to 4put mylast into holderif holder is 2thensend mouseup to bkgnd button "All Relations"elseif holder is 3thensend doChoice to bkgnd button "Descendants"elseif holder is 4thensend mouseup to bkgnd button "Pedigree"elseif holder is 5thensend mouseup to bkgnd button "Print Marked Cards"elseif holder is 6thensend mouseup to bkgnd button "Text File Listing"elseif holder is 7thensend mouseup to bkgnd btn "Name Report"elseif holder is 17thenshowMarkOptionselseif holder is 12thensend mouseup to bkgnd btn "Floater Report"elseif holder is 13thensend mouseup to bkgnd btn "Duplicates Report"elseif holder is 14thensend mouseup to bkgnd btn "Space Invaders"elseif holder is 9thensend doReport to bkgnd btn "Alpha Listing"elseif holder is 10thensend doReport to bkgnd btn "BDay Report"elseif holder is 15thensend doreport to bkgnd btn "Integrity Report"end ifend ifend ifend ifend ifend ifend ifend ifend ifend ifend ifend ifend ifend processReport</script>
  2052.     </part>
  2053.     <part>
  2054.         <id>203</id>
  2055.         <type>button</type>
  2056.         <visible> <false /> </visible>
  2057.         <reserved5> 0 </reserved5>
  2058.         <reserved4> 0 </reserved4>
  2059.         <reserved3> 0 </reserved3>
  2060.         <reserved2> 0 </reserved2>
  2061.         <reserved1> 0 </reserved1>
  2062.         <enabled> <true /> </enabled>
  2063.         <rect>
  2064.             <left>399</left>
  2065.             <top>54</top>
  2066.             <right>491</right>
  2067.             <bottom>74</bottom>
  2068.         </rect>
  2069.         <style>roundrect</style>
  2070.         <showName> <true /> </showName>
  2071.         <highlight> <false /> </highlight>
  2072.         <autoHighlight> <false /> </autoHighlight>
  2073.         <sharedHighlight> <true /> </sharedHighlight>
  2074.         <family>0</family>
  2075.         <titleWidth>0</titleWidth>
  2076.         <icon>0</icon>
  2077.         <textAlign>center</textAlign>
  2078.         <font>Chicago</font>
  2079.         <textSize>12</textSize>
  2080.         <textStyle>plain</textStyle>
  2081.         <name>All Relations</name>
  2082.         <script>on mouseUpglobal totalCards, startTick, counter, remaining, tempID,MLNoptionglobal origCard, bigholder, fileName, count, indicator, tattleChoiceglobal commaIndicator, nameo, ghostNamesput empty into ghostNamesput empty into tattleChoiceput empty into commaIndicatorput the short id of this card into origIDput empty into countanswer "Do you want reports for all cards, marked cards or this card?" with "All Cards" or "Marked Cards" or "This Card"put it into selectionChoiceset cursor to 4answer "Do you want to include the Married Last Name field?" with "Yes" or "No"put it into MLNoptionanswer "Do you want commas eliminated in the report?" with "Retain" or "Eliminate"put it into commaIndicatorset lockmessages to truelock screenif selectionChoice is "All Cards"thenmark all cardsunmark card "Tree"unmark card "Intro"put "Marked Cards" into selectionChoiceend ifif selectionChoice is "This Card"thenfindemif tattleChoice is "Abort" then exit mouseupshow field "Cousin Display"if MLNoption is "Yes" then addMLNput bigHolder into field "Cousin Display"show background button "Hide Display"show background button "Print Display"hide message windowelse-- this is where we ask if a sort is desiredanswer "Do want to sort the cards first" with "Yes" or "No"put it into sortChoice-- this is where we should ask about storing as a text file or printinganswer "Do you want to print directly or write to text file?" with¬¨"Cancel" or "Print" or "Text File"put it into destinationif it is "Cancel" then exit mouseupif destination is "Text File"thengetfileNameanswer "Do you want a visible record separator in the report?" with "No" or "Yes"put it into separatorYNif it is yesthenask "What do you want the separator to be?" ¬¨with "--------------------------------------------------"put it into separatorend ifend ifgo to first marked carddomenu "Prev"put the ticks into startTickput the number of marked cards into totalCardsrepeat with counter = 1 to number of marked cardsgo to next marked cardput the short id of this card into currentCardIDfindemif MLNoption is "Yes" then addMLNif commaIndicator = "Eliminate"thenput bigholder into nameokillcommasput nameo into bigholderend ifif tattleChoice is "Abort" then exit mouseupif destination is "Printthenput bigHolder into field "Cousin Display"print field "Cousin Display"put empty into field "Cousin Display"elsewrite bigHolder to file fileNameif separatorYN is "Yes"thenwrite return to file filenamewrite separator to file filenameend ifwrite return & Return to file fileNameput empty into bigHolderend ifcalcEndput counter & " of " & totalcards & " done. " & remaining & " minutes left"end repeatif destination is "Text File"thenplayprestoclose file filenameif ghostNames is not emptythenanswer "Some missing cards were encountered. What should we do?" with "Forget" or "Store" or "Print"put it into ghostChoiceif ghostChoice = "Print"thenput ghostNames into field "Cousin Display"print field "Cousin Display"put empty into field "Cousin Display"end ifif ghostChoice = "Store"thenask file "Please enter name and location for missing card report file" with "Ghost Report"put it into fileName2if it is emptythenanswer "No name entered, missing cards report is removed" with "Okay"elseopen file filename2if the result is not emptythenput the resultanswer "Can not open file" with "Bye"end ifwrite ghostNames to file filename2close file fileName2end ifend ifend ifanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."elseput it into applNameopen filename with applNameend ifend ifend ifsend mouseup to bkgnd btn "hide display"go to card id origIDend ifend mouseUpon findemglobal bigHolder, count, indicator, carryFrom, tempID, selectionChoiceglobal theName, relType, tattleChoice, nameoput empty into bigHolder-------Hypertalk Script to find relativesif selectionChoice is "This Card" then show field "Cousin Display"set cursor to 4set lockmessages to trueif selectionChoice is "This Card" then put "Searching the cards now."put field "name" into startnameput the short id of this card into tempID-------Store Kidsput field "Kids" into children-------Store Siblingsput field siblings into sibs-------Store Parentsif selectionChoice is "This Card" then put "Parents now."getParentsput carryFrom into parentNames-------Store GrandChildrenif selectionChoice is "This Card" then put "Grandchildren now"put empty into GCNamesrepeat with LnCT = 1 to number of lines of Childrenif line LnCT of children is empty then next repeatput line lnCt of childrenput line LnCT of Children into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCT of Children) into tempIDgetKidsif carryFrom is not emptythenput carryFrom into line ((number of lines of GCNames) +1) of GCNamesif last char of GCNames is return then delete last char of GCNamesend ifend ifend repeat------- Store Great Grandchildrenif selectionChoice is "This Card" then put "Great Grandchildren now"put empty into GGCNamesrepeat with LnCt = 1 to number of lines of GCNamesif line LnCt of GCNames is empty then next repeatput line lnCT of GCNamesput line LnCT of GCNames into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of GCNames) into tempIDgetKidsif carryFrom is not emptythenput carryFrom into line ((number of lines of GGCNames) +1) of GGCNamesif last char of GGCNames is return then delete last char of GGCNamesend ifend ifend repeat-------Store Grandparents ( Parnets of Parents)if selectionChoice is "This Card" then put "Grandparents now."put empty into grandParentsRepeat with LnCt = 1 to the number of lines of parentNamesif line lnCT of parentNames is empty then next repeatput line lnCt of parentnamesput line LnCT of parentNames into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card line LnCt of parentNames into tempIDgetParentsif carryFrom is not emptythenput carryFrom into line ((number of lines of grandParents) + 1) of grandParentsend ifend ifif the last char of grandParents is return then delete the last char of grandparentsend repeat-------Store Great Grandparents (Fathers and Mothers of Grandparents)if selectionChoice is "This Card" then put "Greatgrandparents now."put empty into GGParentsRepeat with LnCt = 1 to the number of lines of grandParentsif line LnCt of grandParents is empty then next repeatput line lnCT of grandParentsput line LnCT of grandParents into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of grandParents) into tempIDgetParentsif CarryFrom is not emptythenput carryFrom into line ((number of lines of GGParents) + 1) of GGParentsend ifend ifif the last char of GGParents is return then delete last char of GGParentsend repeat-------Store Aunt/Uncles (Siblings of Father and Mother)if selectionChoice is "This Card" then put "Aunts and Uncles now."put empty into auntUnclerepeat with LnCT = 1 to number of lines of parentNamesif line LnCt of parentNames is empty then next repeatput line LnCT of parentNamesput line LnCT of parentNames into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of parentNames) into tempIDgetSibsif carryFrom is not emptythenput carryFrom into line ((number of lines of auntUncle) + 1) of auntUncleend ifend ifif the last line of auntUncle is return then delete last char of auntUncleend repeat-------Store Great Aunt/Uncles(Siblings of Grandparents)if selectionChoice is "This Card" then put "GreatAunts/Uncles now."put empty into greatAuntUnclesrepeat with LnCT = 1 to number of lines of grandParentsif line LnCt of grandParents is empty then next repeatput line LnCT of grandparentsput line LnCT of grandparents into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of grandParents) into tempIDgetSibsif carryFrom is not emptythenput carryFrom into line ((number of lines of greatAuntUncles) + 1) of greatAuntUnclesend ifend ifif the last line of greatAuntUncles is return then delete last char of greatAuntUnclesend repeat-------Store niece/Nephewif selectionChoice is "This Card" then put "niece/Nephew now"put empty into nieceNephewrepeat with LnCt = 1 to number of lines of sibsif line LnCt of sibs is empty then next repeatput line LnCT of sibsput line LnCT of sibs into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of sibs) into tempIDgetKidsif carryFrom is not emptythenput carryFrom into line ((number of lines of nieceNephew) + 1) of nieceNephewend ifend ifif last char of nieceNephew is return then delete last char of nieceNephewend repeat-------Store Great niece/Nephewsif selectionChoice is "This Card" then put "Great niece/Nephews now"put empty into gNNrepeat with LnCT = 1 to number of lines of nieceNephewif line LnCt of nieceNephew is empty then next repeatput line LnCT of nieceNephewput line LnCT of nieceNephew into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of nieceNephew) into tempIDgetKidsif carryFrom is not emptythenput carryFrom into line ((number of lines of gNN) + 1) of gNNend ifend ifif last char of gNN is return then delete last char of gNNend repeat------Store FirstCousins (Kids of Aunts and Uncles)if selectionChoice is "This Card" then put "First Cousins now."put empty into firstCousinsRepeat with LnCt = 1 to the number of lines of auntUncleif line LnCt of auntUncle is empty then next repeatput line LnCT of auntUncleput line LnCT of auntUncle into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of auntUncle) into tempIDgetKidsif carryFrom is not emptythenput carryFrom into line ((number of lines of firstCousins) + 1) of firstCousinsend ifend ifif last char of firstCousins is return then delete last char of firstCousinsend repeat-------Store FirstRemovedif selectionChoice is "This Card" then put "First Cousins Once Removed now."put empty into firstRemovedRepeat with LnCt = 1 to the number of lines of firstCousinsif line LnCt of firstCousins is empty then next repeatput line LnCT of firstCousinsput line LnCT of firstCousins into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of firstCousins) into tempIDgetKidsif carryfrom is not emptythenput carryFrom into line ((number of lines of firstRemoved) + 1) of firstRemovedend ifend ifif last char of firstRemoved is return then delete last char of fiestRemovedend repeatput empty into secCousParentsRepeat with LnCt = 1 to the number of lines of greatAuntUnclesif line LnCT of greatAuntUncles is empty then next repeatput line LnCT of greatAuntUnclesput line LnCT of greatAuntUncles into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCt of greatAuntUncles) into tempIDgetKidsif carryFrom is not emptythenput carryFrom into line ((number of lines of firstRemoved) + 1) of firstRemovedput carryFrom into line ((number of lines of secCousParents) + 1) of secCousParentsend ifend ifif the last char of firstRemoved is return then delete last char of firstRemovedif the last char of secCousParents is return then delete last char of secCousParentsend repeat-------Store SecondCousinsif selectionChoice is "This Card" then put "Second Cousins now."put empty into secondCousinsRepeat with LnCt = 1 to the number of lines of secCousParentsif line LnCt of secCousParents is empty then next repeatput line LnCT of secCousParentsput line LnCT of secCousParents into testercheckExist testerput the result into existoif existo = "true"thenput the short ID of card (line LnCT of secCousParents) into tempIDgetKidsif carryFrom is not emptythenput carryFrom into line ((number of lines of secondCousins) + 1) of secondCousinsend ifend ifif the last char of secondCousins is return then delete last char of secondCousinsend repeat-------Big Time fill of display fieldif selectionChoice is "This Card" then put "Filling Display Field now."put empty into indicatorput field name into nameoput nameo & return after bigHolderput "List of Relatives" & return & return after bigHolderif children is not emptythenput 1 into indicatorput "Children Listed in this stack:" after bigHolderput return & return after bigHolderput children into nameoput nameo after bigHolderenderend ifif sibs is not emptythenput 1 into indicatorput "Siblings Listed in this stack:" after bigHolderput return & return after bigHolderput sibs into nameoput nameo after bigHolderenderend ifif parentNames is not emptythenput 1 into indicatorput "Parents Listed in this stack:" after bigHolderput return & return after bigHolderput parentNames into nameoput nameo after bigHolderenderend ifif GCNames is not emptythenput 1 into indicatorput "Grandchildren Listed in this stack:" after bigHolderput return & return after bigHolderput GCnames into nameoput nameo after bigHolderenderend ifif GGCNames is not emptythenput 1 into indicatorput "Great Grandchildren Listed in this stack:" after bigHolderput return & return after bigHolderput GCCnames into nameoput nameo after bigHolderenderend ifif grandparents is not emptythenput 1 into indicatorput "Grandparents Listed in this stack:" & return after bigHolderput return after bigHolderput grandParents into nameoput nameo after bigHolderenderend ifif GGparents is not emptythenput 1 into indicatorput "Greatgrandparents Listed in this stack:" & return after bigHolderput return after bigHolderput GGparents into nameoput nameo after bigHolderenderend ifif auntUncle is not emptythenput 1 into indicatorput "Aunts and Uncles Listed in this stack:" & return after bigHolderput return after bigHolderput auntUncle into nameoput nameo after bigHolderenderend ifif greatauntuncles is not emptythenput 1 into indicatorput "Great Aunts and Uncles Listed in this stack:" & return after bigHolderput return after bigHolderput greatAuntUncles into nameoput nameo after bigHolderenderend ifif nieceNephew is not emptythenput 1 into indicatorput "Nieces/Nephews Listed in this stack:" after bigHolderput return & return after bigHolderput nieceNephew into nameoput nameo after bigHolderenderend ifif GNN is not emptythenput 1 into indicatorput "Grand Nieces/Nephews Listed in this stack:" after bigHolderput return & return after bigHolderput GNN into nameoput nameo after bigHolderenderend ifif firstCousins is not emptythenput 1 into indicatorput "First Cousins Listed in this stack:" & return after bigHolderput return after bigHolderput firstCousins into nameoput nameo after bigHolderenderend ifif firstremoved is not emptythenput 1 into indicatorput "First Cousins Once Removed Listed in this stack:" & return after bigHolderput return after bigHolderput firstRemoved into nameoput nameo after bigHolderenderend ifif secondcousins is not emptythenput 1 into indicatorput "Second Cousins Listed in this stack:" & return after bigHolderput return after bigHolderput secondCousins into nameoput nameo after bigHolderenderend ifif indicator ‚↠1thenput "None found in stack" & return after bigHolderend ifadd 1 to countend findemon sortemput "Cards are being sorted now."sort cards of background "Info Cards" ascending text by first word of field "Name"sort cards of background "Info Cards" ascending text by last word of field "Name"set lockscreen to truerepeat with counter = 1 to number of cards in background "Info Cards"set the name of card counter of background "Info Cards" ¬¨to field 1 of card counter of background "Info Cards"end repeatput "Done sorting"end sortemon getfileNameglobal fileNameask file "Select name and location of report text file." with "Relatives List.text"if it is emptythenask file "No file name was entered. If none is entered then the report will terminate." with "Card List.text"if it is empty then exit getfileNameend ifput it into fileNameopen file fileNameif the result is not emptythenput the result & "File was not opened."end ifwrite empty to file filenameend getfileNameon enderglobal bigHolderif the last char of bigholder is return then delete the last char of bigHolderif the last char of bigholder is return then delete the last char of bigHolderput return after bigHolderput return after bigHolderend enderon getKidsglobal tempID, carryFromput 1 into realcountput empty into carryFromput field "Kids" of card id tempID into pigPenrepeat with LnCt = 1 to number of lines of pigPenput line LnCt of pigPen into holderif the last char of holder is return then delete last char of holderif holder is not emptythenput holder into line realCount of carryFromadd 1 to realCountend ifend repeatend getKidson getSibsglobal tempID, carryFromput 1 into realcountput empty into carryFromput field "Siblings" of card id tempID into pigPenrepeat with LnCt = 1 to number of lines of pigPenput line LnCt of pigPen into holderif the last char of holder is return then delete last char of holderif holder is not emptythenput holder into line realCount of carryFromadd 1 to realCountend ifend repeatend getSibson getParentsglobal tempID, carryFromput empty into carryFromput field "FatherName" of card id tempID into holderif holder is not empty then put holder into carryFromput field "MotherName" of card id tempID into holderif carryFrom is not emptythenput holder into line 2 of carryFromelseput holder into carryFromend ifif the last char of holder is return then delete last char of carryFromend getParentson addMLNglobal bigHolderput "Adding Married Last Fame field."repeat with counterC = 1 to number of lines of bigHolderput line counterC of bigHolder into spotterif spotter is not empty and "List" is not in spotterthenput line counterC of bigHolderput field "MarriedName" of card (line counterC of bigHolder) into gobberif gobber is not emptythenput " (" & gobber & ")" after line counterC of bigHolderend ifend ifend repeatend addMLNon checkExist name1global ghostNamesput "card " && quote & name1 & quote into fetchitput objectExists(fetchit) into indicatorif indicator = "false"thenput name1 & return after ghostNamesend ifreturn indicatorend checkexist</script>
  2083.     </part>
  2084.     <part>
  2085.         <id>204</id>
  2086.         <type>button</type>
  2087.         <visible> <false /> </visible>
  2088.         <reserved5> 0 </reserved5>
  2089.         <reserved4> 0 </reserved4>
  2090.         <reserved3> 0 </reserved3>
  2091.         <reserved2> 0 </reserved2>
  2092.         <reserved1> 0 </reserved1>
  2093.         <enabled> <true /> </enabled>
  2094.         <rect>
  2095.             <left>158</left>
  2096.             <top>79</top>
  2097.             <right>292</right>
  2098.             <bottom>100</bottom>
  2099.         </rect>
  2100.         <style>roundrect</style>
  2101.         <showName> <true /> </showName>
  2102.         <highlight> <false /> </highlight>
  2103.         <autoHighlight> <false /> </autoHighlight>
  2104.         <sharedHighlight> <true /> </sharedHighlight>
  2105.         <family>0</family>
  2106.         <titleWidth>0</titleWidth>
  2107.         <icon>0</icon>
  2108.         <textAlign>center</textAlign>
  2109.         <font>Chicago</font>
  2110.         <textSize>12</textSize>
  2111.         <textStyle>plain</textStyle>
  2112.         <name>Print Marked Cards</name>
  2113.         <script>on mouseUpglobal origIDput the short id of this card into origIDanswer "Do you want the cards sorted before printing?" with "Cancel" or "Yes" or "No"if it is "Cancel" then exit mouseupset cursor to 4set lockscreen to trueif it is "Yes" thenput "Cards are being sorted now."sort cards of background "Info Cards" ascending text by first word of field "Name"sort cards of background "Info Cards" ascending text by last word of field "Name"set lockscreen to trueset cursor to 4put "Now restoring card names."repeat with counter = 1 to number of cards in background "Info Cards"set the name of card counter of background "Info Cards" ¬¨to field 1 of card counter of background "Info Cards"end repeatend ifHide background button "Find Card"Hide background button "Reports"put "Print file is being accumulated."repeat with x = 26 to 34show background button xend repeatopen printingput "Now printing."printWithStoryclose printingshow background button "cover3"show background button "cover4"show background button "cover5"show background button "cover6"show background button "cover7"show background button "CoverFL"show background button "CoverFR"show background button "CoverML"show background button "CoverMR"show background button "Find Card"show background button "Reports"playprestogo to card id origIDend mouseUpon printWithStoryset cursor to 4set lockscreen to truego to first marked carddomenu "Prev"repeat with x = 1 to number of marked cardsgo to next marked cardprint cardIf field "Story" of this card is not empty thenpush cardput field "story" of this card into StoryHolderput field "name" of this card into NameHoldergo card "Tree"put nameHolder into card field "PrDt1"put StoryHolder into card field "PrDt2"show card field PrDt1 of card "tree"show card field PrDt2 of card "Tree"print card "Tree"close printingopen printinghide card field PrDt1 of card "tree"hide card field PrDt2 of card "Tree"pop cardend ifend repeatclose printinghide background button "cover3"hide background button "cover4"hide background button "cover5"hide background button "cover6"hide background button "cover7"hide background button "CoverFL"hide background button "CoverFR"hide background button "CoverML"hide background button "CoverMR"end printWithStory</script>
  2114.     </part>
  2115.     <part>
  2116.         <id>205</id>
  2117.         <type>button</type>
  2118.         <visible> <false /> </visible>
  2119.         <reserved5> 0 </reserved5>
  2120.         <reserved4> 0 </reserved4>
  2121.         <reserved3> 0 </reserved3>
  2122.         <reserved2> 0 </reserved2>
  2123.         <reserved1> 0 </reserved1>
  2124.         <enabled> <true /> </enabled>
  2125.         <rect>
  2126.             <left>164</left>
  2127.             <top>54</top>
  2128.             <right>280</right>
  2129.             <bottom>75</bottom>
  2130.         </rect>
  2131.         <style>roundrect</style>
  2132.         <showName> <true /> </showName>
  2133.         <highlight> <false /> </highlight>
  2134.         <autoHighlight> <false /> </autoHighlight>
  2135.         <sharedHighlight> <true /> </sharedHighlight>
  2136.         <family>0</family>
  2137.         <titleWidth>0</titleWidth>
  2138.         <icon>0</icon>
  2139.         <textAlign>center</textAlign>
  2140.         <font>Chicago</font>
  2141.         <textSize>12</textSize>
  2142.         <textStyle>plain</textStyle>
  2143.         <name>Text File Listing</name>
  2144.         <script>on mouseUpglobal printFile, longShort, fileName, cardCount, bigCardCountglobal totalSize,targetID, origID, break, breakYN, counter2global starttick, counter, totalcards, remaining, narrowWide, MLNchoiceput 0 into counter2answer "Which report format do you want" with "Cancel" or "Long" or "Short"if it is "Cancel" then exit mouseupput it into longShortif longShort is "Long"thenanswer "Do you want 1 or 2 (narrow) lines per person?" with "1" or "2"put it into narrowWideend ifanswer "Do you want to sort the cards first?" with "Sort" or "Do Not Sort"put it into sortChoiceanswer "Do you want the Married Last Name field included?" with "INCLUDE" or "NO"put it into MLNchoiceanswer "Which cards do you want included in the report" with "Name Match"¬¨or "Marked Cards" or "All Cards"put it into setChoiceif setChoice is "Name Match"thenask "What name do you want to match in the name field?" with "Snorklehiemer"if it is emptythenask "One more chance to enter match name." with emptyif it is empty then exit mouseupend ifput it into matchNameend ifask file "Select name and location of report text file." with "Card List.text"if it is emptythenask file "No file name was entered. If none is entered then the report will terminate." with "Card List.text"if it is empty then exit mouseupend ifput it into fileNameopen file fileNameif the result is not emptythenput the result & "File was not opened."end ifanswer "Do you want regular blank lines to make report more readable?" with "No" or "Yes"put it into breakYNif it is "Yes"thenAnswer "How many lines do you want between blank lines?" with "5" or "4" or "3"put it into breakend ifput empty into cardCountput empty into bigCardCountset numberFormat to "0"if sortChoice is "Sort"thenput "Cards are being sorted now."sort cards of background "Info Cards" ascending text by first word of field "Name"sort cards of background "Info Cards" ascending text by last word of field "Name"set lockscreen to trueput "Done sorting"end ifput "Initializing printfile"if longShort is "Short"thenshortHeadingelselongHeadingend if-- now we start write data to printFileput "Now gathering data."set cursor to 4set lockscreen to trueset lockmessages to trueif setChoice is "Name Match"thenunmark all cardsmark cards by finding matchName in field "Name"put "Marked Cards" into setChoiceend ifif setChoice is "Marked Cards"thenif number of marked cards > 0thenput the number of marked cards into totalCardsgo to first marked carddomenu "Prev"put the ticks into starttickrepeat with counter = 1 to the number of marked cardsgo to next marked cardput short id of this card into targetIDwriteChoicecalcendput counter & " of " & totalcards & " accumulated " & remaining & " minutes left to go"end repeatwrite printfile to file fileNameelseput "No marked cards in this stack"end ifclose file fileNameend ifif setChoice is "All Cards"thenput the number of cards of background "Info Cards" into totalCardsput the ticks into starttickrepeat with counter = 1 to number of cards of bkgnd "Info Cards"put the short id of card counter of bkgnd "Info Cards" into targetIDwriteChoicecalcendput counter & " of " & totalcards & " accumulated " & remaining & " minutes left to go"end repeatwrite printfile to file fileNameclose file fileNameend ifplayprestoput "Records gathered - " & bigCardCountgo to card id origIDset lockscreen to falseanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."elseput it into applNameopen filename with applNameend ifend ifend mouseUpon shortHeadingglobal printfileput "Name" & tab & "Birth Date" & tab into printFileput "Death Date" & tab & "Marriage Date" & tab & "# of Children" after printFileput tab & "# of Siblings" & return after printfileend shortHeadingon longHeadingglobal printfile, narrowWideput "Name" & tab & "Birth Date" & tab into printFileput "Birth Location" & tab & "Death Date" & tab & "Death Location" & tab after printfileif narrowWide is "2" then put return after printfileput "Burial Location" & tab & "Marriage Date" & tab & "Father Name" after printFileput tab & "Mother Name" & tab & "# of Children" after printFileput tab & "# of Siblings" & return after printfileend longHeadingon writeChoiceglobal longShort, counter2, break, breakYN, printfileif longShort is "Short"thenwriteInfoShortelsewriteInfoLongend ifadd 1 to counter2if counter2 = breakthenput return after printfileput 0 into counter2end ifend writeChoiceon writeInfoShortglobal printFile, mDates, targetID, MLNchoice, nameoset numberFormat to "0"put field "Name" of card id TargetID into nameokillCommasput last word of nameo after printFileput ", " after printFileput nameo after printFiledelete the last word of printfileif MLNchoice is "INCLUDE"thenput field "MarriedName" of card id targetID into snookerif snooker is not emptythenput " (" & snooker & ")" after printfileend ifend ifput tab after printFileput field "Birth Date" of card id targetID after printFileput tab after printFileput field "Death Date" of card id targetID after printFileput tab after printfilecheckMarriageDatesput mDates & tab after printFileput number of lines of field "Kids" of card id targetID after printFileput tab after printFileput number of lines of field "Siblings" of card id targetID after printFileput return after printFilecheckPrintFileend writeInfoShorton writeInfoLongglobal printFile, mDates, targetID, narrowWide, MLNchoice, nameoset numberFormat to "0"put field "Name" of card id targetID into nameokillCommasput last word of nameo after printfileput ", " after printFileput nameo after printFiledelete the last word of printfileif MLNchoice is "INCLUDE"thenput field "MarriedName" of card id targetID into snookerif snooker is not emptythenput " (" & snooker & ")" after printfileend ifend ifput tab after printFileput field "Birth Date" of card id targetID after printFileput tab after printFileput field "Birth Location" of card id targetID after printFileput tab after printFileput field "Death Date" of card id targetID after printFileput tab after printfileput field "Death Location" of card id targetID after printFileput tab after printfileif narrowWide is "2" then put return & "  " after printfileput field "Burial Location" of card id targetID after printFileput tab after printfilecheckMarriageDatesput mDates & tab after printFileput field "FatherName" of card id targetID into nameokillcommasput nameo after printFileput tab after printfileput field "MotherName" of card id targetID into nameokillCommasput nameo after printFileput tab after printfileput number of lines of field "Kids" of card id targetID after printFileput tab after printFileput number of lines of field "Siblings" of card id targetID after printFileput return after printFilecheckPrintFileend writeInfoLongon checkMarriageDatesglobal mDates, targetIDput empty into mDatesif field mDate1 of card id targetID is not empty thenput field mDate1 of card id targetID after mDatesend ifif field mDate2 of card id targetID is not empty thenput return after mDatesput field mDate2 of card id targetID after mDatesend ifif field mDate3 of card id targetID is not empty thenput return after mDatesput field mDate3 of card id targetID after mDatesend ifif field mDate4 of card id targetID is not empty thenput return after mDatesput field mDate4 of card id targetID after mDatesend ifif the number of lines of mDates > 1thenset numberFormat to "0"put "(" & number of lines of mDates & ") " into tempDatesput last word of line 1 of mDates after tempDatesput  " - " & last word of line 2 of mDates after tempDatesif line 3 of mDates is not emptythenput  " - " & last word of line 3 of mDates after tempDatesend ifif line 4 of mDates is not emptythenput  " - " & last word of line 4 of mDates after tempDatesend ifput tempDates into mDatesend ifend checkMarriageDateson checkPrintFileglobal printFile, cardCount, bigCardCount, fileName, totalSizeadd 1 to cardCountadd 1 to bigCardCountif cardCount > 99thenwrite printFile to file fileNameput empty into printFileput empty into cardCountend ifend checkPrintFile</script>
  2145.     </part>
  2146.     <part>
  2147.         <id>206</id>
  2148.         <type>button</type>
  2149.         <visible> <false /> </visible>
  2150.         <reserved5> 0 </reserved5>
  2151.         <reserved4> 0 </reserved4>
  2152.         <reserved3> 0 </reserved3>
  2153.         <reserved2> 0 </reserved2>
  2154.         <reserved1> 0 </reserved1>
  2155.         <enabled> <true /> </enabled>
  2156.         <rect>
  2157.             <left>295</left>
  2158.             <top>79</top>
  2159.             <right>401</right>
  2160.             <bottom>102</bottom>
  2161.         </rect>
  2162.         <style>roundrect</style>
  2163.         <showName> <true /> </showName>
  2164.         <highlight> <false /> </highlight>
  2165.         <autoHighlight> <false /> </autoHighlight>
  2166.         <sharedHighlight> <true /> </sharedHighlight>
  2167.         <family>0</family>
  2168.         <titleWidth>0</titleWidth>
  2169.         <icon>0</icon>
  2170.         <textAlign>center</textAlign>
  2171.         <font>Chicago</font>
  2172.         <textSize>12</textSize>
  2173.         <textStyle>plain</textStyle>
  2174.         <name>Floater Report</name>
  2175.         <script>on mouseUp------- this routine checks for names on cards which have no------- cooresponding information card. A report will be written to------- a text file or printed.put the short id of this card into origIDglobal accumulator, productioncount, floatersset cursor to 4lock screenset lockmessages to truefloaterSearchgo to card id origIDanswer "Do you want to store the report or print it now?" with "Cancel" or "Store" or "Display"if it is "Cancel" then exit mouseupput it into choiceif choice is "Display"thenset lockscreen to trueput return & return & return & return before accumulatorput accumulator into field "Cousin Display"show background button "Hide Display"show background button "Print Display"show field "Cousin Display"end ifif choice is "Store"thenask file "Please enter name and select destination of printfile" with "Floater Report.Text"if it is empty thenask file "One more chance - please enter name for file." with "Floater Report.Text"end ifif it is empty thenput "File not written to disk"exit mouseupend ifput it into fileNameopen file fileNameif the result is not emptythenput the resultexit mouseupend ifwrite accumulator to file filenameclose file filenameanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."exit mouseupelseput it into applNameopen filename with applNameend ifend ifend ifunlock screenput productioncount & " Cards checked, " & Floaters & " floaters found. We're done."playprestoend mouseUp</script>
  2176.     </part>
  2177.     <part>
  2178.         <id>207</id>
  2179.         <type>button</type>
  2180.         <visible> <false /> </visible>
  2181.         <reserved5> 0 </reserved5>
  2182.         <reserved4> 0 </reserved4>
  2183.         <reserved3> 0 </reserved3>
  2184.         <reserved2> 0 </reserved2>
  2185.         <reserved1> 0 </reserved1>
  2186.         <enabled> <true /> </enabled>
  2187.         <rect>
  2188.             <left>20</left>
  2189.             <top>79</top>
  2190.             <right>149</right>
  2191.             <bottom>99</bottom>
  2192.         </rect>
  2193.         <style>roundrect</style>
  2194.         <showName> <true /> </showName>
  2195.         <highlight> <false /> </highlight>
  2196.         <autoHighlight> <false /> </autoHighlight>
  2197.         <sharedHighlight> <true /> </sharedHighlight>
  2198.         <family>0</family>
  2199.         <titleWidth>0</titleWidth>
  2200.         <icon>0</icon>
  2201.         <textAlign>center</textAlign>
  2202.         <font>Chicago</font>
  2203.         <textSize>12</textSize>
  2204.         <textStyle>plain</textStyle>
  2205.         <name>Duplicates Report</name>
  2206.         <script>on mouseUpput empty into nameAccumulatorput "Gathering names now."repeat with counter = 1 to number of cards of bkgnd "Info Cards"put field "Name" of card (counter) of bkgnd "Info Cards" after nameAccumulatorput return after nameAccumulatorend repeatput "Names gathered, now sorting"sort lines of nameAccumulatorput empty into duplicateNamesput 0 into totalfoundput "Now Checking"put number of cards of bkgnd "Info Cards" into totalrepeat with counter = 1 to (number of lines of nameAccumulator -1)if line counter of nameAccumulator = line (counter + 1) of nameAccumulator thenput line counter of nameAccumulator & return after duplicateNamesadd 1 to totalfoundend ifput counter & " names checked out of " & total &  ".  We found " & ¬¨totalFound & " duplicates"end repeatanswer "Do you want to store the report or print it now?" with "Cancel" or "Store" or "Display"if it is "Cancel" then exit mouseupput it into choiceif choice is "Display"thenset lockscreen to trueput return & return & return & return before duplicateNamesput duplicateNames into field "Cousin Display"show background button "Hide Display"show background button "Print Display"show field "Cousin Display"end ifif choice is "Store"thenask file "Please enter name and select destination of printfile" with "FlDuploater Report.Text"if it is empty thenask file "One more chance - please enter name for file." with "Dupl Report.Text"end ifif it is empty thenput "File not written to disk"exit mouseupend ifput it into fileNameopen file fileNameif the result is not emptythenput the resultexit mouseupend ifwrite duplicateNames to file filenameclose file filenameanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."exit mouseupelseput it into applNameopen filename with applNameend ifend ifend ifend mouseUp</script>
  2207.     </part>
  2208.     <part>
  2209.         <id>232</id>
  2210.         <type>button</type>
  2211.         <visible> <true /> </visible>
  2212.         <reserved5> 0 </reserved5>
  2213.         <reserved4> 0 </reserved4>
  2214.         <reserved3> 0 </reserved3>
  2215.         <reserved2> 0 </reserved2>
  2216.         <reserved1> 0 </reserved1>
  2217.         <enabled> <true /> </enabled>
  2218.         <rect>
  2219.             <left>68</left>
  2220.             <top>8</top>
  2221.             <right>86</right>
  2222.             <bottom>22</bottom>
  2223.         </rect>
  2224.         <style>radiobutton</style>
  2225.         <showName> <true /> </showName>
  2226.         <highlight> <false /> </highlight>
  2227.         <autoHighlight> <true /> </autoHighlight>
  2228.         <sharedHighlight> <false /> </sharedHighlight>
  2229.         <family>0</family>
  2230.         <titleWidth>0</titleWidth>
  2231.         <icon>0</icon>
  2232.         <textAlign>center</textAlign>
  2233.         <font>Chicago</font>
  2234.         <textSize>12</textSize>
  2235.         <textStyle>plain</textStyle>
  2236.         <name>isItMarked</name>
  2237.         <script>on mouseUpif the highlight of bkgnd btn "isItMarked" is truethenmark cardelseunmark cardend ifend mouseUp</script>
  2238.     </part>
  2239.     <part>
  2240.         <id>208</id>
  2241.         <type>button</type>
  2242.         <visible> <false /> </visible>
  2243.         <reserved5> 0 </reserved5>
  2244.         <reserved4> 0 </reserved4>
  2245.         <reserved3> 0 </reserved3>
  2246.         <reserved2> 0 </reserved2>
  2247.         <reserved1> 0 </reserved1>
  2248.         <enabled> <true /> </enabled>
  2249.         <rect>
  2250.             <left>294</left>
  2251.             <top>54</top>
  2252.             <right>388</right>
  2253.             <bottom>77</bottom>
  2254.         </rect>
  2255.         <style>roundrect</style>
  2256.         <showName> <true /> </showName>
  2257.         <highlight> <false /> </highlight>
  2258.         <autoHighlight> <false /> </autoHighlight>
  2259.         <sharedHighlight> <true /> </sharedHighlight>
  2260.         <family>0</family>
  2261.         <titleWidth>0</titleWidth>
  2262.         <icon>0</icon>
  2263.         <textAlign>center</textAlign>
  2264.         <font>Chicago</font>
  2265.         <textSize>12</textSize>
  2266.         <textStyle>plain</textStyle>
  2267.         <name>Name Report</name>
  2268.         <script>on mouseUp--this routine will create a text file with names of parents,--siblings and children along with the number of children of--each child (grandchildren)global printfile, lineCounter, targetID, cardCount, bigCardCountglobal separatorYN, separator, includeStory, commaIndicatorglobal starttick, counter, totalCards, Remaining, ghostNamesput empty into ghostNamesput the short id of this card into origIDput empty into commaIndicatoranswer "Do you want to sort the cards first?" with "Sort" or "Do Not Sort"put it into sortChoiceanswer "Which cards do you want included in the report" with "Name Match"¬¨or "Marked Cards" or "All Cards"put it into setChoiceif setChoice is "Name Match"thenask "What name do you want to match in the name field?" with "Snorklehiemer"if it is emptythenask "One more chance to enter match name." with emptyif it is empty then exit mouseupend ifput it into matchNameend ifanswer "Do you want to include the STORY field in this report?" with "Yes" or "No"put it into includeStoryask file "Select name and location of report text file." with "Name List.text"if it is emptythenask file "No file name was entered. If none is entered then the report will terminate." with "Name List.text"if it is empty then exit mouseupend ifput it into fileNameopen file fileNameif the result is not emptythenput the result & "File was not opened."end ifanswer "Do you want a visible record separator in the report?" with "No" or "Yes"put it into separatorYNif it is yesthenask "What do you want the separator to be?" ¬¨with "---------------------------------------------------------------------------------------------------"put it into separatorend ifput empty into cardCountput empty into bigCardCountif sortChoice is "Sort"thenput "Cards are being sorted now."sort cards of background "Info Cards" ascending text by first word of field "Name"sort cards of background "Info Cards" ascending text by last word of field "Name"set lockscreen to truerepeat with counter = 1 to number of cards in background "Info Cards"set the name of card counter of background "Info Cards" ¬¨to field 1 of card counter of background "Info Cards"end repeatput "Done sorting"end ifput "Initializing printfile"nameHeading-- now we start write data to printFileput "Now gathering data."set cursor to 4set lockscreen to trueset lockmessages to trueif setChoice is "Name Match"thenunmark all cardsmark cards by finding matchName in field "Name"put "Marked Cards" into setChoiceend ifif setChoice is "Marked Cards"thenif number of marked cards > 0thenput the number of marked cards into totalCardsput the number of marked cards into bigCardCountgo to first marked carddomenu "Prev"put the ticks into starttickrepeat with counter = 1 to the number of marked cardsgo to next marked cardput short id of this card into targetIDwriteNamescalcendput counter & " of " & totalCards & " accumulated " & remaining & " minutes to go"end repeatwrite printfile to file fileNameelseput "No marked cards in this stack"end ifclose file fileNameend ifif setChoice is "All Cards"thenput the number of cards of background "Info Cards" into totalCardsput the number of cards of background "Info Cards" into bigCardCountput the ticks into starttickrepeat with counter = 1 to number of cards of bkgnd "Info Cards"put the short id of card counter of bkgnd "Info Cards" into targetIDwriteNamescalcendput counter & " of " & totalCards & " accumulated " & remaining & " minutes to go"end repeatwrite printfile to file fileNameclose file fileNameend ifplayprestoif ghostNames is not emptythenanswer "Missing cards were identified. What do you want to do with them?" with "Forget" or "Store" or "Print"put it into ghostChoiceif ghostChoice is "Print"thenput ghostNames into field "Cousin Display"print field "Cousin Display"put empty into field "Cousin Display"end ifif ghostChoice is "Store"thenask file "Please enter name and location for missing card report file" with "Ghost Report"put it into fileName2if it is emptythenanswer "No name entered, missing cards report is removed" with "Okay"elseopen file filename2if the result is not emptythenput the resultanswer "Can not open file" with "Bye"end ifwrite ghostNames to file filename2close file fileName2end ifend ifend ifput "Records gathered - " & bigCardCountgo to card id origIDset lockscreen to falseanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."elseput it into applNameopen filename with applNameend ifend ifend mouseUpon nameHeadingglobal printfile, lineCounterput "Name" & tab & "Parents" & tab into printFileput "Siblings" & tab & "Children" & tab & "# of Children" after printFileput  return after printfileput 3 into lineCounterend nameHeadingon writeNamesglobal printFile, LineCounter, targetID, cardCount, bigCardCountglobal separatorYN, separator, includeStory, nameo, spousenames, targetNameglobal matchName, Suffix, ghostNamesset numberformat to "0"put 0 into kidKidCount--This is the first line of a cards listingput field "name" of card id targetID into nameoput nameo into targetNamefillspouseskillCommasput nameo into line lineCounter of printfileput tab after line lineCounter of printfileput field "FatherName" of card id targetID into nameokillCommasput "f. " & nameo after line lineCounter of printfileput tab after line lineCounter of printfileput line 1 of field "Siblings" of card id targetID into nameokillcommasput nameo after line lineCounter of printFileput tab after line lineCounter of printfileput line 1 of field "Kids" of card id targetID into nameoif number of lines of spousenames >1thenput "card " && quote & nameo & quote into targetname2if objectexists(targetname2)thenput empty into suffixif field "NameMF" is "F" and nameo is not emptythenput field "FatherName" of card nameo into matchNameelseput field "MotherName" of card nameo into matchNameend ifgetSuffixelseput nameo & return after ghostnamesend ifend ifkillcommasput nameo after line lineCounter of printFileif suffix contains "(" then put suffix after line linecounter of printfileput empty into suffixput tab after line lineCounter of printfileput line 1 of field "Kids" of card id targetID into fetchitif fetchit is not emptythenput fetchitput "card " && quote & fetchit & quote into targetname2if objectExists(targetname2)thenput the number of lines of field "Kids" of card fetchit into tempHoldif tempHold is not emptythenput tempHold after line lineCounter of printfileadd tempHold to kidKidCountend ifelseput fetchit & return after ghostNamesend ifend ifput  return after line lineCounter of printfileadd 1 to lineCounter-- put the spouses in one containerput spousenames into spouses--this section takes care of other kids and siblings and spousesput empty into kidoput empty into siboput empty into spousoput empty into momoput number of lines of field "kids" of card id targetID into kidoput number of lines of field "Siblings" of card id targetID after siboif spouses is not emptythenput number of lines of spouses into spousoadd 1 to spousoend ifif field "MotherName" of card id targetID is not emptythenput 2 into momoelseput 0 into momoend ifput max (kido,sibo, spouso, momo) into hangerSizeif hangerSize > 1thenrepeat with ratchet = 2 to hangerSizeput 0 into holderput "  " into line lineCounter of printFileput line (ratchet - 1) of spouses into nameokillcommasput nameo after line lineCounter of printFileif number of lines of spouses > 1 then put " (" & (ratchet-1) & ")" after line linecounter of printfileput tab after line lineCounter of printFileif ratchet = 2thenput field "MotherName" of card id targetID into nameokillcommasput "m. " &  nameo after line lineCounter of printFileend ifput tab after line lineCounter of printFileput line ratchet of field "Siblings" of card id targetID into nameokillcommasput nameo after line linecounter of printfileput tab after line lineCounter of printFileput line ratchet of field "Kids" of card id targetID into nameoif number of lines of spousenames >1 and nameo is not emptythenput "card " && quote & nameo & quote into targetname2if objectexists(targetname2)thenput empty into suffixif field "NameMF" is "F"thenput field "FatherName" of card nameo into matchNameelseput field "MotherName" of card nameo into matchNameend ifgetSuffixelseput nameo & return after ghostNamesend ifend ifkillCommasput nameo after line lineCounter of printfileif suffix contains "(" then put suffix after line linecounter of printfileput empty into suffixput line ratchet of field "Kids" of card id targetID into destinationput tab after line lineCounter of printFileif destination is not emptythenput "card " && quote & destination & quote into targetname2if objectexists(targetname2)thenput number of lines of field "Kids" of card destination into holderif holder is not emptythenput holder after line linecounter of printFileadd holder to kidKidCountelseput destination & return after ghostnamesend ifend ifend ifput return after printFileadd 1 to lineCounterend repeatif kidKidCount > 0thenput tab & tab & tab & "** Total Grandchildren" & tab into line¬¨linecounter of printFileput kidKidCount & return after line lineCounter of printFileend ifend ifadd 1 to lineCounterif includeStory is "Yes"thenif field "story" of card id targetID is not emptythenadd 2 to lineCounterput field "Story" of card id TargetID into line lineCounter of printfileput return after printfileput ((number of lines of printfile) + 1)  into linecounterend ifend ifif separatorYN is "Yes"thenput separator & return into line linecounter of printfileend ifadd 1 to cardCountadd 2 to lineCounterend writeNames</script>
  2269.     </part>
  2270.     <part>
  2271.         <id>233</id>
  2272.         <type>field</type>
  2273.         <visible> <true /> </visible>
  2274.         <dontWrap> <false /> </dontWrap>
  2275.         <dontSearch> <false /> </dontSearch>
  2276.         <sharedText> <false /> </sharedText>
  2277.         <fixedLineHeight> <false /> </fixedLineHeight>
  2278.         <autoTab> <false /> </autoTab>
  2279.         <lockText> <false /> </lockText>
  2280.         <rect>
  2281.             <left>244</left>
  2282.             <top>31</top>
  2283.             <right>397</right>
  2284.             <bottom>48</bottom>
  2285.         </rect>
  2286.         <style>rectangle</style>
  2287.         <autoSelect> <false /> </autoSelect>
  2288.         <showLines> <false /> </showLines>
  2289.         <wideMargins> <false /> </wideMargins>
  2290.         <multipleLines> <false /> </multipleLines>
  2291.         <reservedFamily> 0 </reservedFamily>
  2292.         <titleWidth>0</titleWidth>
  2293.         <icon>0</icon>
  2294.         <textAlign>center</textAlign>
  2295.         <font>Geneva</font>
  2296.         <textSize>12</textSize>
  2297.         <textStyle>plain</textStyle>
  2298.         <textHeight>16</textHeight>
  2299.         <name>MarriedName</name>
  2300.         <script></script>
  2301.     </part>
  2302.     <part>
  2303.         <id>235</id>
  2304.         <type>field</type>
  2305.         <visible> <false /> </visible>
  2306.         <dontWrap> <false /> </dontWrap>
  2307.         <dontSearch> <false /> </dontSearch>
  2308.         <sharedText> <false /> </sharedText>
  2309.         <fixedLineHeight> <false /> </fixedLineHeight>
  2310.         <autoTab> <false /> </autoTab>
  2311.         <lockText> <false /> </lockText>
  2312.         <rect>
  2313.             <left>2</left>
  2314.             <top>51</top>
  2315.             <right>509</right>
  2316.             <bottom>292</bottom>
  2317.         </rect>
  2318.         <style>scrolling</style>
  2319.         <autoSelect> <false /> </autoSelect>
  2320.         <showLines> <false /> </showLines>
  2321.         <wideMargins> <true /> </wideMargins>
  2322.         <multipleLines> <false /> </multipleLines>
  2323.         <reservedFamily> 0 </reservedFamily>
  2324.         <titleWidth>0</titleWidth>
  2325.         <icon>0</icon>
  2326.         <textAlign>left</textAlign>
  2327.         <font>Geneva</font>
  2328.         <textSize>12</textSize>
  2329.         <textStyle>plain</textStyle>
  2330.         <textHeight>16</textHeight>
  2331.         <name>Source</name>
  2332.         <script></script>
  2333.     </part>
  2334.     <part>
  2335.         <id>240</id>
  2336.         <type>field</type>
  2337.         <visible> <false /> </visible>
  2338.         <dontWrap> <false /> </dontWrap>
  2339.         <dontSearch> <false /> </dontSearch>
  2340.         <sharedText> <false /> </sharedText>
  2341.         <fixedLineHeight> <false /> </fixedLineHeight>
  2342.         <autoTab> <false /> </autoTab>
  2343.         <lockText> <false /> </lockText>
  2344.         <rect>
  2345.             <left>156</left>
  2346.             <top>120</top>
  2347.             <right>356</right>
  2348.             <bottom>205</bottom>
  2349.         </rect>
  2350.         <style>rectangle</style>
  2351.         <autoSelect> <false /> </autoSelect>
  2352.         <showLines> <false /> </showLines>
  2353.         <wideMargins> <false /> </wideMargins>
  2354.         <multipleLines> <false /> </multipleLines>
  2355.         <reservedFamily> 0 </reservedFamily>
  2356.         <titleWidth>0</titleWidth>
  2357.         <icon>0</icon>
  2358.         <textAlign>left</textAlign>
  2359.         <font>Geneva</font>
  2360.         <textSize>12</textSize>
  2361.         <textStyle>plain</textStyle>
  2362.         <textHeight>16</textHeight>
  2363.         <name>Pict Names</name>
  2364.         <script></script>
  2365.     </part>
  2366.     <part>
  2367.         <id>191</id>
  2368.         <type>field</type>
  2369.         <visible> <true /> </visible>
  2370.         <dontWrap> <false /> </dontWrap>
  2371.         <dontSearch> <false /> </dontSearch>
  2372.         <sharedText> <true /> </sharedText>
  2373.         <fixedLineHeight> <true /> </fixedLineHeight>
  2374.         <autoTab> <false /> </autoTab>
  2375.         <lockText> <true /> </lockText>
  2376.         <rect>
  2377.             <left>493</left>
  2378.             <top>154</top>
  2379.             <right>512</right>
  2380.             <bottom>290</bottom>
  2381.         </rect>
  2382.         <style>opaque</style>
  2383.         <autoSelect> <false /> </autoSelect>
  2384.         <showLines> <false /> </showLines>
  2385.         <wideMargins> <false /> </wideMargins>
  2386.         <multipleLines> <false /> </multipleLines>
  2387.         <reservedFamily> 0 </reservedFamily>
  2388.         <titleWidth>0</titleWidth>
  2389.         <icon>0</icon>
  2390.         <textAlign>left</textAlign>
  2391.         <font>Andover</font>
  2392.         <textSize>10</textSize>
  2393.         <textStyle>plain</textStyle>
  2394.         <textHeight>11</textHeight>
  2395.         <name>SibScrollHide</name>
  2396.         <script>on mouseUpput (item 2 of the clickloc - 142 + scroll of field "Siblings") div 11 into lineNumif line lineNum of field "Siblings" is empty then exit mouseUppush cardgo to card (line lineNum of field "Siblings")end mouseUp</script>
  2397.     </part>
  2398.     <part>
  2399.         <id>236</id>
  2400.         <type>button</type>
  2401.         <visible> <true /> </visible>
  2402.         <reserved5> 0 </reserved5>
  2403.         <reserved4> 0 </reserved4>
  2404.         <reserved3> 0 </reserved3>
  2405.         <reserved2> 0 </reserved2>
  2406.         <reserved1> 0 </reserved1>
  2407.         <enabled> <true /> </enabled>
  2408.         <rect>
  2409.             <left>303</left>
  2410.             <top>291</top>
  2411.             <right>384</right>
  2412.             <bottom>341</bottom>
  2413.         </rect>
  2414.         <style>transparent</style>
  2415.         <showName> <true /> </showName>
  2416.         <highlight> <false /> </highlight>
  2417.         <autoHighlight> <false /> </autoHighlight>
  2418.         <sharedHighlight> <true /> </sharedHighlight>
  2419.         <family>0</family>
  2420.         <titleWidth>0</titleWidth>
  2421.         <icon>1004</icon>
  2422.         <textAlign>center</textAlign>
  2423.         <font>Chicago</font>
  2424.         <textSize>12</textSize>
  2425.         <textStyle>plain</textStyle>
  2426.         <name>Read/Edit Source</name>
  2427.         <script>on mouseUplock screenshow field "Display Description"put "** Source" into field "Display Description"hide field "Story"hide bkgnd btn "Hide Story"hide bkgnd btn "read/edit source"show field "Source"show background button "Hide Source"show background btn "Read/Edit Story"hide field "kidscrollhide"hide field "sibscrollhide"end mouseUp</script>
  2428.     </part>
  2429.     <part>
  2430.         <id>190</id>
  2431.         <type>field</type>
  2432.         <visible> <true /> </visible>
  2433.         <dontWrap> <false /> </dontWrap>
  2434.         <dontSearch> <false /> </dontSearch>
  2435.         <sharedText> <true /> </sharedText>
  2436.         <fixedLineHeight> <true /> </fixedLineHeight>
  2437.         <autoTab> <false /> </autoTab>
  2438.         <lockText> <true /> </lockText>
  2439.         <rect>
  2440.             <left>203</left>
  2441.             <top>155</top>
  2442.             <right>218</right>
  2443.             <bottom>290</bottom>
  2444.         </rect>
  2445.         <style>opaque</style>
  2446.         <autoSelect> <false /> </autoSelect>
  2447.         <showLines> <false /> </showLines>
  2448.         <wideMargins> <false /> </wideMargins>
  2449.         <multipleLines> <false /> </multipleLines>
  2450.         <reservedFamily> 0 </reservedFamily>
  2451.         <titleWidth>0</titleWidth>
  2452.         <icon>0</icon>
  2453.         <textAlign>left</textAlign>
  2454.         <font>Andover</font>
  2455.         <textSize>10</textSize>
  2456.         <textStyle>plain</textStyle>
  2457.         <textHeight>11</textHeight>
  2458.         <name>KidScrollHide</name>
  2459.         <script>on mouseUpput (item 2 of the clickloc - 142 + scroll of field "Kids") div 11 into lineNumput line lineNum of field "Kids" into clickNameif clickName is empty then exit mouseUppush cardgo to card clickNameend mouseUp</script>
  2460.     </part>
  2461.     <part>
  2462.         <id>237</id>
  2463.         <type>button</type>
  2464.         <visible> <false /> </visible>
  2465.         <reserved5> 0 </reserved5>
  2466.         <reserved4> 0 </reserved4>
  2467.         <reserved3> 0 </reserved3>
  2468.         <reserved2> 0 </reserved2>
  2469.         <reserved1> 0 </reserved1>
  2470.         <enabled> <true /> </enabled>
  2471.         <rect>
  2472.             <left>301</left>
  2473.             <top>292</top>
  2474.             <right>375</right>
  2475.             <bottom>342</bottom>
  2476.         </rect>
  2477.         <style>opaque</style>
  2478.         <showName> <true /> </showName>
  2479.         <highlight> <false /> </highlight>
  2480.         <autoHighlight> <false /> </autoHighlight>
  2481.         <sharedHighlight> <true /> </sharedHighlight>
  2482.         <family>0</family>
  2483.         <titleWidth>0</titleWidth>
  2484.         <icon>1004</icon>
  2485.         <textAlign>center</textAlign>
  2486.         <font>Chicago</font>
  2487.         <textSize>12</textSize>
  2488.         <textStyle>plain</textStyle>
  2489.         <name>Hide Source</name>
  2490.         <script>on mouseUplock screenhide field "Story"hide background button "Hide Story"hide field "Source"hide background btn "Hide Source"show background button "Read/Edit Source"show background button "Read/Edit Story"show field "kidscrollhide"show field "sibscrollhide"put empty into field "Display Description"hide field "Display Description"end mouseUp</script>
  2491.     </part>
  2492.     <part>
  2493.         <id>238</id>
  2494.         <type>field</type>
  2495.         <visible> <false /> </visible>
  2496.         <dontWrap> <false /> </dontWrap>
  2497.         <dontSearch> <false /> </dontSearch>
  2498.         <sharedText> <false /> </sharedText>
  2499.         <fixedLineHeight> <false /> </fixedLineHeight>
  2500.         <autoTab> <false /> </autoTab>
  2501.         <lockText> <false /> </lockText>
  2502.         <rect>
  2503.             <left>75</left>
  2504.             <top>32</top>
  2505.             <right>146</right>
  2506.             <bottom>49</bottom>
  2507.         </rect>
  2508.         <style>opaque</style>
  2509.         <autoSelect> <false /> </autoSelect>
  2510.         <showLines> <false /> </showLines>
  2511.         <wideMargins> <false /> </wideMargins>
  2512.         <multipleLines> <false /> </multipleLines>
  2513.         <reservedFamily> 0 </reservedFamily>
  2514.         <titleWidth>0</titleWidth>
  2515.         <icon>0</icon>
  2516.         <textAlign>left</textAlign>
  2517.         <font>Helvetica</font>
  2518.         <textSize>12</textSize>
  2519.         <textStyle>bold</textStyle>
  2520.         <textHeight>16</textHeight>
  2521.         <name>Display Description</name>
  2522.         <script></script>
  2523.     </part>
  2524.     <part>
  2525.         <id>186</id>
  2526.         <type>field</type>
  2527.         <visible> <false /> </visible>
  2528.         <dontWrap> <false /> </dontWrap>
  2529.         <dontSearch> <true /> </dontSearch>
  2530.         <sharedText> <false /> </sharedText>
  2531.         <fixedLineHeight> <false /> </fixedLineHeight>
  2532.         <autoTab> <false /> </autoTab>
  2533.         <lockText> <false /> </lockText>
  2534.         <rect>
  2535.             <left>0</left>
  2536.             <top>1</top>
  2537.             <right>510</right>
  2538.             <bottom>341</bottom>
  2539.         </rect>
  2540.         <style>scrolling</style>
  2541.         <autoSelect> <false /> </autoSelect>
  2542.         <showLines> <false /> </showLines>
  2543.         <wideMargins> <false /> </wideMargins>
  2544.         <multipleLines> <false /> </multipleLines>
  2545.         <reservedFamily> 0 </reservedFamily>
  2546.         <titleWidth>0</titleWidth>
  2547.         <icon>0</icon>
  2548.         <textAlign>center</textAlign>
  2549.         <font>Times</font>
  2550.         <textSize>14</textSize>
  2551.         <textStyle>bold</textStyle>
  2552.         <textHeight>18</textHeight>
  2553.         <name>Cousin Display</name>
  2554.         <script></script>
  2555.     </part>
  2556.     <part>
  2557.         <id>209</id>
  2558.         <type>field</type>
  2559.         <visible> <false /> </visible>
  2560.         <dontWrap> <false /> </dontWrap>
  2561.         <dontSearch> <false /> </dontSearch>
  2562.         <sharedText> <true /> </sharedText>
  2563.         <fixedLineHeight> <false /> </fixedLineHeight>
  2564.         <autoTab> <false /> </autoTab>
  2565.         <lockText> <false /> </lockText>
  2566.         <rect>
  2567.             <left>1</left>
  2568.             <top>2</top>
  2569.             <right>511</right>
  2570.             <bottom>338</bottom>
  2571.         </rect>
  2572.         <style>rectangle</style>
  2573.         <autoSelect> <false /> </autoSelect>
  2574.         <showLines> <false /> </showLines>
  2575.         <wideMargins> <false /> </wideMargins>
  2576.         <multipleLines> <false /> </multipleLines>
  2577.         <reservedFamily> 0 </reservedFamily>
  2578.         <titleWidth>0</titleWidth>
  2579.         <icon>0</icon>
  2580.         <textAlign>left</textAlign>
  2581.         <font>Geneva</font>
  2582.         <textSize>12</textSize>
  2583.         <textStyle>plain</textStyle>
  2584.         <textHeight>16</textHeight>
  2585.         <name>Hider</name>
  2586.         <script>on mouseup-- this is a fake scriptput empty into dogfrogend mouseup</script>
  2587.     </part>
  2588.     <part>
  2589.         <id>214</id>
  2590.         <type>field</type>
  2591.         <visible> <false /> </visible>
  2592.         <dontWrap> <false /> </dontWrap>
  2593.         <dontSearch> <false /> </dontSearch>
  2594.         <sharedText> <false /> </sharedText>
  2595.         <fixedLineHeight> <false /> </fixedLineHeight>
  2596.         <autoTab> <false /> </autoTab>
  2597.         <lockText> <false /> </lockText>
  2598.         <rect>
  2599.             <left>9</left>
  2600.             <top>220</top>
  2601.             <right>171</right>
  2602.             <bottom>241</bottom>
  2603.         </rect>
  2604.         <style>rectangle</style>
  2605.         <autoSelect> <false /> </autoSelect>
  2606.         <showLines> <false /> </showLines>
  2607.         <wideMargins> <false /> </wideMargins>
  2608.         <multipleLines> <false /> </multipleLines>
  2609.         <reservedFamily> 0 </reservedFamily>
  2610.         <titleWidth>0</titleWidth>
  2611.         <icon>0</icon>
  2612.         <textAlign>left</textAlign>
  2613.         <font>Geneva</font>
  2614.         <textSize>12</textSize>
  2615.         <textStyle>plain</textStyle>
  2616.         <textHeight>16</textHeight>
  2617.         <name>MatchName3</name>
  2618.         <script></script>
  2619.     </part>
  2620.     <part>
  2621.         <id>213</id>
  2622.         <type>field</type>
  2623.         <visible> <false /> </visible>
  2624.         <dontWrap> <false /> </dontWrap>
  2625.         <dontSearch> <false /> </dontSearch>
  2626.         <sharedText> <false /> </sharedText>
  2627.         <fixedLineHeight> <false /> </fixedLineHeight>
  2628.         <autoTab> <false /> </autoTab>
  2629.         <lockText> <false /> </lockText>
  2630.         <rect>
  2631.             <left>9</left>
  2632.             <top>160</top>
  2633.             <right>171</right>
  2634.             <bottom>181</bottom>
  2635.         </rect>
  2636.         <style>rectangle</style>
  2637.         <autoSelect> <false /> </autoSelect>
  2638.         <showLines> <false /> </showLines>
  2639.         <wideMargins> <false /> </wideMargins>
  2640.         <multipleLines> <false /> </multipleLines>
  2641.         <reservedFamily> 0 </reservedFamily>
  2642.         <titleWidth>0</titleWidth>
  2643.         <icon>0</icon>
  2644.         <textAlign>left</textAlign>
  2645.         <font>Geneva</font>
  2646.         <textSize>12</textSize>
  2647.         <textStyle>plain</textStyle>
  2648.         <textHeight>16</textHeight>
  2649.         <name>MatchName2</name>
  2650.         <script></script>
  2651.     </part>
  2652.     <part>
  2653.         <id>212</id>
  2654.         <type>field</type>
  2655.         <visible> <false /> </visible>
  2656.         <dontWrap> <false /> </dontWrap>
  2657.         <dontSearch> <false /> </dontSearch>
  2658.         <sharedText> <false /> </sharedText>
  2659.         <fixedLineHeight> <false /> </fixedLineHeight>
  2660.         <autoTab> <false /> </autoTab>
  2661.         <lockText> <false /> </lockText>
  2662.         <rect>
  2663.             <left>8</left>
  2664.             <top>99</top>
  2665.             <right>170</right>
  2666.             <bottom>120</bottom>
  2667.         </rect>
  2668.         <style>rectangle</style>
  2669.         <autoSelect> <false /> </autoSelect>
  2670.         <showLines> <false /> </showLines>
  2671.         <wideMargins> <false /> </wideMargins>
  2672.         <multipleLines> <false /> </multipleLines>
  2673.         <reservedFamily> 0 </reservedFamily>
  2674.         <titleWidth>0</titleWidth>
  2675.         <icon>0</icon>
  2676.         <textAlign>left</textAlign>
  2677.         <font>Geneva</font>
  2678.         <textSize>12</textSize>
  2679.         <textStyle>plain</textStyle>
  2680.         <textHeight>16</textHeight>
  2681.         <name>MatchName1</name>
  2682.         <script></script>
  2683.     </part>
  2684.     <part>
  2685.         <id>230</id>
  2686.         <type>button</type>
  2687.         <visible> <false /> </visible>
  2688.         <reserved5> 0 </reserved5>
  2689.         <reserved4> 0 </reserved4>
  2690.         <reserved3> 0 </reserved3>
  2691.         <reserved2> 0 </reserved2>
  2692.         <reserved1> 0 </reserved1>
  2693.         <enabled> <true /> </enabled>
  2694.         <rect>
  2695.             <left>22</left>
  2696.             <top>303</top>
  2697.             <right>234</right>
  2698.             <bottom>328</bottom>
  2699.         </rect>
  2700.         <style>roundrect</style>
  2701.         <showName> <true /> </showName>
  2702.         <highlight> <false /> </highlight>
  2703.         <autoHighlight> <false /> </autoHighlight>
  2704.         <sharedHighlight> <true /> </sharedHighlight>
  2705.         <family>0</family>
  2706.         <titleWidth>0</titleWidth>
  2707.         <icon>0</icon>
  2708.         <textAlign>center</textAlign>
  2709.         <font>Chicago</font>
  2710.         <textSize>12</textSize>
  2711.         <textStyle>plain</textStyle>
  2712.         <name>Exit Without Further Marking</name>
  2713.         <script>on mouseUplock screenhidemarkoptionsput number of marked cards & " Cards are marked."end mouseUp</script>
  2714.     </part>
  2715.     <part>
  2716.         <id>231</id>
  2717.         <type>button</type>
  2718.         <visible> <false /> </visible>
  2719.         <reserved5> 0 </reserved5>
  2720.         <reserved4> 0 </reserved4>
  2721.         <reserved3> 0 </reserved3>
  2722.         <reserved2> 0 </reserved2>
  2723.         <reserved1> 0 </reserved1>
  2724.         <enabled> <true /> </enabled>
  2725.         <rect>
  2726.             <left>311</left>
  2727.             <top>305</top>
  2728.             <right>411</right>
  2729.             <bottom>327</bottom>
  2730.         </rect>
  2731.         <style>roundrect</style>
  2732.         <showName> <true /> </showName>
  2733.         <highlight> <false /> </highlight>
  2734.         <autoHighlight> <false /> </autoHighlight>
  2735.         <sharedHighlight> <true /> </sharedHighlight>
  2736.         <family>0</family>
  2737.         <titleWidth>0</titleWidth>
  2738.         <icon>0</icon>
  2739.         <textAlign>center</textAlign>
  2740.         <font>Chicago</font>
  2741.         <textSize>12</textSize>
  2742.         <textStyle>plain</textStyle>
  2743.         <name>Mark Cards</name>
  2744.         <script>on mouseUpif the highlight of bkgnd btn "Clear" is false and¬¨the highlight of bkgnd btn "Do Not Clear" is falsethenanswer "Either " & quote & "Clear" & quote & " or " & Quote &¬¨"No Not Clear" & quote & " must be checked." with "Try Again"exit mouseupend ifif the highlight of bkgnd btn "Clear" is true then unmark all cards-------------------------------------------------------------------- this section works on the first matching option ------------------------------------------------------------------if field matchname1 is not emptythenput field matchname1 into matchnameset cursor to 4put empty into watcherif highlight of bkgnd btn "In Name Field 1" is truethenmark cards  by finding matchname in field "Name"put "didsome" into watcherend ifif highlight of bkgnd btn "In Spouse Field 1" is truethenmark cards by finding matchname in field "Spouse1"mark cards by finding matchname in field "Spouse2"mark cards by finding matchname in field "Spouse3"mark cards by finding matchname in field "Spouse4"put "didsome" into watcherend ifif highlight of bkgnd btn "In Parent Field 1" is truethenmark cards by finding matchname in field "FatherName"mark cards by finding matchname in field "motherName"put "didsome" into watcherend ifif highlight of bkgnd btn "In Children Field 1" is truethenmark cards by finding matchname in field "Children"put "didsome" into watcherend ifif highlight of bkgnd btn "In Sibling Field 1" is truethenmark cards  by finding matchname in field "Sibling"put "didsome" into watcherend ifif watcher is emptythenanswer "A name was entered into the first option but no fields were selected" with "Try Again"exit mouseupend ifend if-------------------------------------------------------------------- this section works on the second matching option -----------------------------------------------------------------if field matchname2 is not emptythenput field matchname2 into matchnameset cursor to 4put empty into watcherif highlight of bkgnd btn "In Name Field 2" is truethenmark cards  by finding matchname in field "Name"put "didsome" into watcherend ifif highlight of bkgnd btn "In Spouse Field 2" is truethenmark cards by finding matchname in field "Spouse1"mark cards by finding matchname in field "Spouse2"mark cards by finding matchname in field "Spouse3"mark cards by finding matchname in field "Spouse4"put "didsome" into watcherend ifif highlight of bkgnd btn "In Parent Field 2" is truethenmark cards by finding matchname in field "FatherName"mark cards by finding matchname in field "motherName"put "didsome" into watcherend ifif highlight of bkgnd btn "In Children Field 2" is truethenmark cards by finding matchname in field "Children"put "didsome" into watcherend ifif highlight of bkgnd btn "In Sibling Field 2" is truethenmark cards  by finding matchname in field "Sibling"put "didsome" into watcherend ifif watcher is emptythenanswer "A name was entered into the second option but no fields were selected" with "Try Again"end ifend if-------------------------------------------------------------------- this section works on the third matching option ------------------------------------------------------------------if field matchname3 is not emptythenput field matchname3 into matchnameset cursor to 4put empty into watcherif highlight of bkgnd btn "In Name Field 3" is truethenmark cards  by finding matchname in field "Name"put "didsome" into watcherend ifif highlight of bkgnd btn "In Spouse Field 3" is truethenmark cards by finding matchname in field "Spouse1"mark cards by finding matchname in field "Spouse2"mark cards by finding matchname in field "Spouse3"mark cards by finding matchname in field "Spouse4"put "didsome" into watcherend ifif highlight of bkgnd btn "In Parent Field 3" is truethenmark cards by finding matchname in field "FatherName"mark cards by finding matchname in field "motherName"put "didsome" into watcherend ifif highlight of bkgnd btn "In Children Field 3" is truethenmark cards by finding matchname in field "Children"put "didsome" into watcherend ifif highlight of bkgnd btn "In Sibling Field 3" is truethenmark cards  by finding matchname in field "Sibling"put "didsome" into watcherend ifif watcher is emptythenanswer "A name was entered into the third option but no fields were selected" with "Try Again"exit mouseupend ifend ifput empty into field matchname1put empty into field matchname2put empty into field matchname3set the highlight of bkgnd btn "Clear" to falseset the highlight of bkgnd btn "Do Not Clear" to falseput number of marked cards & " cards are currently marked" into line 18 of field hiderplayprestoend mouseUp</script>
  2745.     </part>
  2746.     <part>
  2747.         <id>218</id>
  2748.         <type>button</type>
  2749.         <visible> <false /> </visible>
  2750.         <reserved5> 0 </reserved5>
  2751.         <reserved4> 0 </reserved4>
  2752.         <reserved3> 0 </reserved3>
  2753.         <reserved2> 0 </reserved2>
  2754.         <reserved1> 0 </reserved1>
  2755.         <enabled> <true /> </enabled>
  2756.         <rect>
  2757.             <left>327</left>
  2758.             <top>100</top>
  2759.             <right>450</right>
  2760.             <bottom>122</bottom>
  2761.         </rect>
  2762.         <style>radiobutton</style>
  2763.         <showName> <true /> </showName>
  2764.         <highlight> <false /> </highlight>
  2765.         <autoHighlight> <true /> </autoHighlight>
  2766.         <sharedHighlight> <true /> </sharedHighlight>
  2767.         <family>0</family>
  2768.         <titleWidth>0</titleWidth>
  2769.         <icon>0</icon>
  2770.         <textAlign>center</textAlign>
  2771.         <font>Chicago</font>
  2772.         <textSize>12</textSize>
  2773.         <textStyle>plain</textStyle>
  2774.         <name>In Spouse Field 1</name>
  2775.         <script></script>
  2776.     </part>
  2777.     <part>
  2778.         <id>227</id>
  2779.         <type>button</type>
  2780.         <visible> <false /> </visible>
  2781.         <reserved5> 0 </reserved5>
  2782.         <reserved4> 0 </reserved4>
  2783.         <reserved3> 0 </reserved3>
  2784.         <reserved2> 0 </reserved2>
  2785.         <reserved1> 0 </reserved1>
  2786.         <enabled> <true /> </enabled>
  2787.         <rect>
  2788.             <left>328</left>
  2789.             <top>128</top>
  2790.             <right>448</right>
  2791.             <bottom>148</bottom>
  2792.         </rect>
  2793.         <style>radiobutton</style>
  2794.         <showName> <true /> </showName>
  2795.         <highlight> <false /> </highlight>
  2796.         <autoHighlight> <true /> </autoHighlight>
  2797.         <sharedHighlight> <true /> </sharedHighlight>
  2798.         <family>0</family>
  2799.         <titleWidth>0</titleWidth>
  2800.         <icon>0</icon>
  2801.         <textAlign>center</textAlign>
  2802.         <font>Chicago</font>
  2803.         <textSize>12</textSize>
  2804.         <textStyle>plain</textStyle>
  2805.         <name>In Sibling Field 1</name>
  2806.         <script></script>
  2807.     </part>
  2808.     <part>
  2809.         <id>219</id>
  2810.         <type>button</type>
  2811.         <visible> <false /> </visible>
  2812.         <reserved5> 0 </reserved5>
  2813.         <reserved4> 0 </reserved4>
  2814.         <reserved3> 0 </reserved3>
  2815.         <reserved2> 0 </reserved2>
  2816.         <reserved1> 0 </reserved1>
  2817.         <enabled> <true /> </enabled>
  2818.         <rect>
  2819.             <left>329</left>
  2820.             <top>161</top>
  2821.             <right>452</right>
  2822.             <bottom>183</bottom>
  2823.         </rect>
  2824.         <style>radiobutton</style>
  2825.         <showName> <true /> </showName>
  2826.         <highlight> <false /> </highlight>
  2827.         <autoHighlight> <true /> </autoHighlight>
  2828.         <sharedHighlight> <true /> </sharedHighlight>
  2829.         <family>0</family>
  2830.         <titleWidth>0</titleWidth>
  2831.         <icon>0</icon>
  2832.         <textAlign>center</textAlign>
  2833.         <font>Chicago</font>
  2834.         <textSize>12</textSize>
  2835.         <textStyle>plain</textStyle>
  2836.         <name>In Spouse Field 2</name>
  2837.         <script></script>
  2838.     </part>
  2839.     <part>
  2840.         <id>228</id>
  2841.         <type>button</type>
  2842.         <visible> <false /> </visible>
  2843.         <reserved5> 0 </reserved5>
  2844.         <reserved4> 0 </reserved4>
  2845.         <reserved3> 0 </reserved3>
  2846.         <reserved2> 0 </reserved2>
  2847.         <reserved1> 0 </reserved1>
  2848.         <enabled> <true /> </enabled>
  2849.         <rect>
  2850.             <left>329</left>
  2851.             <top>190</top>
  2852.             <right>449</right>
  2853.             <bottom>210</bottom>
  2854.         </rect>
  2855.         <style>radiobutton</style>
  2856.         <showName> <true /> </showName>
  2857.         <highlight> <false /> </highlight>
  2858.         <autoHighlight> <true /> </autoHighlight>
  2859.         <sharedHighlight> <true /> </sharedHighlight>
  2860.         <family>0</family>
  2861.         <titleWidth>0</titleWidth>
  2862.         <icon>0</icon>
  2863.         <textAlign>center</textAlign>
  2864.         <font>Chicago</font>
  2865.         <textSize>12</textSize>
  2866.         <textStyle>plain</textStyle>
  2867.         <name>In Sibling Field 2</name>
  2868.         <script></script>
  2869.     </part>
  2870.     <part>
  2871.         <id>220</id>
  2872.         <type>button</type>
  2873.         <visible> <false /> </visible>
  2874.         <reserved5> 0 </reserved5>
  2875.         <reserved4> 0 </reserved4>
  2876.         <reserved3> 0 </reserved3>
  2877.         <reserved2> 0 </reserved2>
  2878.         <reserved1> 0 </reserved1>
  2879.         <enabled> <true /> </enabled>
  2880.         <rect>
  2881.             <left>329</left>
  2882.             <top>222</top>
  2883.             <right>452</right>
  2884.             <bottom>244</bottom>
  2885.         </rect>
  2886.         <style>radiobutton</style>
  2887.         <showName> <true /> </showName>
  2888.         <highlight> <false /> </highlight>
  2889.         <autoHighlight> <true /> </autoHighlight>
  2890.         <sharedHighlight> <true /> </sharedHighlight>
  2891.         <family>0</family>
  2892.         <titleWidth>0</titleWidth>
  2893.         <icon>0</icon>
  2894.         <textAlign>center</textAlign>
  2895.         <font>Chicago</font>
  2896.         <textSize>12</textSize>
  2897.         <textStyle>plain</textStyle>
  2898.         <name>In Spouse Field 3</name>
  2899.         <script></script>
  2900.     </part>
  2901.     <part>
  2902.         <id>197</id>
  2903.         <type>field</type>
  2904.         <visible> <false /> </visible>
  2905.         <dontWrap> <false /> </dontWrap>
  2906.         <dontSearch> <false /> </dontSearch>
  2907.         <sharedText> <true /> </sharedText>
  2908.         <fixedLineHeight> <false /> </fixedLineHeight>
  2909.         <autoTab> <false /> </autoTab>
  2910.         <lockText> <false /> </lockText>
  2911.         <rect>
  2912.             <left>326</left>
  2913.             <top>48</top>
  2914.             <right>503</right>
  2915.             <bottom>225</bottom>
  2916.         </rect>
  2917.         <style>shadow</style>
  2918.         <autoSelect> <false /> </autoSelect>
  2919.         <showLines> <false /> </showLines>
  2920.         <wideMargins> <false /> </wideMargins>
  2921.         <multipleLines> <false /> </multipleLines>
  2922.         <reservedFamily> 0 </reservedFamily>
  2923.         <titleWidth>0</titleWidth>
  2924.         <icon>0</icon>
  2925.         <textAlign>center</textAlign>
  2926.         <font>Times</font>
  2927.         <textSize>18</textSize>
  2928.         <textStyle>plain</textStyle>
  2929.         <textHeight>24</textHeight>
  2930.         <name>Choices</name>
  2931.         <script>on mouseupglobal origIDhide field "choices"put the short id of this card into origIDset cursor to 4put the clicktext into holderput the clickline into muffyif holder is "All Relations"thensend mouseup to bkgnd button "All Relations"elseif holder is "Descendants"thensend mouseup to bkgnd button "Descendants"elseif holder is "Print Marked Cards"thensend mouseup to bkgnd button "Print Marked Cards"elseif holder is "Text File Listing"thensend mouseup to bkgnd button "Text File Listing"elseif holder is "Hanging Names"thensend mouseup to bkgnd btn "Name Report"elseif holder is "Mark Cards"thenshowMarkOptionselseif holder is "Floater Report"thensend mouseup to bkgnd btn "Floater Report"elseif holder is "Duplicates Report"thensend mouseup to bkgnd btn "Duplicates Report"elseif holder is "Space Invaders"thensend mouseup to bkgnd btn "Space Invaders"end ifend ifend ifend ifend ifend ifend ifend ifend ifend mouseup</script>
  2932.     </part>
  2933.     <part>
  2934.         <id>215</id>
  2935.         <type>button</type>
  2936.         <visible> <false /> </visible>
  2937.         <reserved5> 0 </reserved5>
  2938.         <reserved4> 0 </reserved4>
  2939.         <reserved3> 0 </reserved3>
  2940.         <reserved2> 0 </reserved2>
  2941.         <reserved1> 0 </reserved1>
  2942.         <enabled> <true /> </enabled>
  2943.         <rect>
  2944.             <left>183</left>
  2945.             <top>100</top>
  2946.             <right>296</right>
  2947.             <bottom>122</bottom>
  2948.         </rect>
  2949.         <style>radiobutton</style>
  2950.         <showName> <true /> </showName>
  2951.         <highlight> <false /> </highlight>
  2952.         <autoHighlight> <true /> </autoHighlight>
  2953.         <sharedHighlight> <true /> </sharedHighlight>
  2954.         <family>0</family>
  2955.         <titleWidth>0</titleWidth>
  2956.         <icon>0</icon>
  2957.         <textAlign>center</textAlign>
  2958.         <font>Chicago</font>
  2959.         <textSize>12</textSize>
  2960.         <textStyle>plain</textStyle>
  2961.         <name>In Name Field 1</name>
  2962.         <script></script>
  2963.     </part>
  2964.     <part>
  2965.         <id>229</id>
  2966.         <type>button</type>
  2967.         <visible> <false /> </visible>
  2968.         <reserved5> 0 </reserved5>
  2969.         <reserved4> 0 </reserved4>
  2970.         <reserved3> 0 </reserved3>
  2971.         <reserved2> 0 </reserved2>
  2972.         <reserved1> 0 </reserved1>
  2973.         <enabled> <true /> </enabled>
  2974.         <rect>
  2975.             <left>330</left>
  2976.             <top>250</top>
  2977.             <right>450</right>
  2978.             <bottom>270</bottom>
  2979.         </rect>
  2980.         <style>radiobutton</style>
  2981.         <showName> <true /> </showName>
  2982.         <highlight> <false /> </highlight>
  2983.         <autoHighlight> <true /> </autoHighlight>
  2984.         <sharedHighlight> <true /> </sharedHighlight>
  2985.         <family>0</family>
  2986.         <titleWidth>0</titleWidth>
  2987.         <icon>0</icon>
  2988.         <textAlign>center</textAlign>
  2989.         <font>Chicago</font>
  2990.         <textSize>12</textSize>
  2991.         <textStyle>plain</textStyle>
  2992.         <name>In Sibling Field 3</name>
  2993.         <script></script>
  2994.     </part>
  2995.     <part>
  2996.         <id>224</id>
  2997.         <type>button</type>
  2998.         <visible> <false /> </visible>
  2999.         <reserved5> 0 </reserved5>
  3000.         <reserved4> 0 </reserved4>
  3001.         <reserved3> 0 </reserved3>
  3002.         <reserved2> 0 </reserved2>
  3003.         <reserved1> 0 </reserved1>
  3004.         <enabled> <true /> </enabled>
  3005.         <rect>
  3006.             <left>183</left>
  3007.             <top>130</top>
  3008.             <right>316</right>
  3009.             <bottom>149</bottom>
  3010.         </rect>
  3011.         <style>radiobutton</style>
  3012.         <showName> <true /> </showName>
  3013.         <highlight> <false /> </highlight>
  3014.         <autoHighlight> <true /> </autoHighlight>
  3015.         <sharedHighlight> <true /> </sharedHighlight>
  3016.         <family>0</family>
  3017.         <titleWidth>0</titleWidth>
  3018.         <icon>0</icon>
  3019.         <textAlign>center</textAlign>
  3020.         <font>Chicago</font>
  3021.         <textSize>12</textSize>
  3022.         <textStyle>plain</textStyle>
  3023.         <name>In Children Field 1</name>
  3024.         <script></script>
  3025.     </part>
  3026.     <part>
  3027.         <id>216</id>
  3028.         <type>button</type>
  3029.         <visible> <false /> </visible>
  3030.         <reserved5> 0 </reserved5>
  3031.         <reserved4> 0 </reserved4>
  3032.         <reserved3> 0 </reserved3>
  3033.         <reserved2> 0 </reserved2>
  3034.         <reserved1> 0 </reserved1>
  3035.         <enabled> <true /> </enabled>
  3036.         <rect>
  3037.             <left>183</left>
  3038.             <top>160</top>
  3039.             <right>296</right>
  3040.             <bottom>182</bottom>
  3041.         </rect>
  3042.         <style>radiobutton</style>
  3043.         <showName> <true /> </showName>
  3044.         <highlight> <false /> </highlight>
  3045.         <autoHighlight> <true /> </autoHighlight>
  3046.         <sharedHighlight> <true /> </sharedHighlight>
  3047.         <family>0</family>
  3048.         <titleWidth>0</titleWidth>
  3049.         <icon>0</icon>
  3050.         <textAlign>center</textAlign>
  3051.         <font>Chicago</font>
  3052.         <textSize>12</textSize>
  3053.         <textStyle>plain</textStyle>
  3054.         <name>In Name Field 2</name>
  3055.         <script></script>
  3056.     </part>
  3057.     <part>
  3058.         <id>225</id>
  3059.         <type>button</type>
  3060.         <visible> <false /> </visible>
  3061.         <reserved5> 0 </reserved5>
  3062.         <reserved4> 0 </reserved4>
  3063.         <reserved3> 0 </reserved3>
  3064.         <reserved2> 0 </reserved2>
  3065.         <reserved1> 0 </reserved1>
  3066.         <enabled> <true /> </enabled>
  3067.         <rect>
  3068.             <left>183</left>
  3069.             <top>190</top>
  3070.             <right>313</right>
  3071.             <bottom>210</bottom>
  3072.         </rect>
  3073.         <style>radiobutton</style>
  3074.         <showName> <true /> </showName>
  3075.         <highlight> <false /> </highlight>
  3076.         <autoHighlight> <true /> </autoHighlight>
  3077.         <sharedHighlight> <true /> </sharedHighlight>
  3078.         <family>0</family>
  3079.         <titleWidth>0</titleWidth>
  3080.         <icon>0</icon>
  3081.         <textAlign>center</textAlign>
  3082.         <font>Chicago</font>
  3083.         <textSize>12</textSize>
  3084.         <textStyle>plain</textStyle>
  3085.         <name>In Children Field 2</name>
  3086.         <script></script>
  3087.     </part>
  3088.     <part>
  3089.         <id>217</id>
  3090.         <type>button</type>
  3091.         <visible> <false /> </visible>
  3092.         <reserved5> 0 </reserved5>
  3093.         <reserved4> 0 </reserved4>
  3094.         <reserved3> 0 </reserved3>
  3095.         <reserved2> 0 </reserved2>
  3096.         <reserved1> 0 </reserved1>
  3097.         <enabled> <true /> </enabled>
  3098.         <rect>
  3099.             <left>184</left>
  3100.             <top>222</top>
  3101.             <right>297</right>
  3102.             <bottom>244</bottom>
  3103.         </rect>
  3104.         <style>radiobutton</style>
  3105.         <showName> <true /> </showName>
  3106.         <highlight> <false /> </highlight>
  3107.         <autoHighlight> <true /> </autoHighlight>
  3108.         <sharedHighlight> <true /> </sharedHighlight>
  3109.         <family>0</family>
  3110.         <titleWidth>0</titleWidth>
  3111.         <icon>0</icon>
  3112.         <textAlign>center</textAlign>
  3113.         <font>Chicago</font>
  3114.         <textSize>12</textSize>
  3115.         <textStyle>plain</textStyle>
  3116.         <name>In Name Field 3</name>
  3117.         <script></script>
  3118.     </part>
  3119.     <part>
  3120.         <id>226</id>
  3121.         <type>button</type>
  3122.         <visible> <false /> </visible>
  3123.         <reserved5> 0 </reserved5>
  3124.         <reserved4> 0 </reserved4>
  3125.         <reserved3> 0 </reserved3>
  3126.         <reserved2> 0 </reserved2>
  3127.         <reserved1> 0 </reserved1>
  3128.         <enabled> <true /> </enabled>
  3129.         <rect>
  3130.             <left>184</left>
  3131.             <top>250</top>
  3132.             <right>315</right>
  3133.             <bottom>270</bottom>
  3134.         </rect>
  3135.         <style>radiobutton</style>
  3136.         <showName> <true /> </showName>
  3137.         <highlight> <false /> </highlight>
  3138.         <autoHighlight> <true /> </autoHighlight>
  3139.         <sharedHighlight> <true /> </sharedHighlight>
  3140.         <family>0</family>
  3141.         <titleWidth>0</titleWidth>
  3142.         <icon>0</icon>
  3143.         <textAlign>center</textAlign>
  3144.         <font>Chicago</font>
  3145.         <textSize>12</textSize>
  3146.         <textStyle>plain</textStyle>
  3147.         <name>In Children Field 3</name>
  3148.         <script></script>
  3149.     </part>
  3150.     <part>
  3151.         <id>221</id>
  3152.         <type>button</type>
  3153.         <visible> <false /> </visible>
  3154.         <reserved5> 0 </reserved5>
  3155.         <reserved4> 0 </reserved4>
  3156.         <reserved3> 0 </reserved3>
  3157.         <reserved2> 0 </reserved2>
  3158.         <reserved1> 0 </reserved1>
  3159.         <enabled> <true /> </enabled>
  3160.         <rect>
  3161.             <left>24</left>
  3162.             <top>128</top>
  3163.             <right>143</right>
  3164.             <bottom>148</bottom>
  3165.         </rect>
  3166.         <style>radiobutton</style>
  3167.         <showName> <true /> </showName>
  3168.         <highlight> <false /> </highlight>
  3169.         <autoHighlight> <true /> </autoHighlight>
  3170.         <sharedHighlight> <true /> </sharedHighlight>
  3171.         <family>0</family>
  3172.         <titleWidth>0</titleWidth>
  3173.         <icon>0</icon>
  3174.         <textAlign>center</textAlign>
  3175.         <font>Chicago</font>
  3176.         <textSize>12</textSize>
  3177.         <textStyle>plain</textStyle>
  3178.         <name>In Parent Field 1</name>
  3179.         <script></script>
  3180.     </part>
  3181.     <part>
  3182.         <id>222</id>
  3183.         <type>button</type>
  3184.         <visible> <false /> </visible>
  3185.         <reserved5> 0 </reserved5>
  3186.         <reserved4> 0 </reserved4>
  3187.         <reserved3> 0 </reserved3>
  3188.         <reserved2> 0 </reserved2>
  3189.         <reserved1> 0 </reserved1>
  3190.         <enabled> <true /> </enabled>
  3191.         <rect>
  3192.             <left>24</left>
  3193.             <top>190</top>
  3194.             <right>143</right>
  3195.             <bottom>209</bottom>
  3196.         </rect>
  3197.         <style>radiobutton</style>
  3198.         <showName> <true /> </showName>
  3199.         <highlight> <false /> </highlight>
  3200.         <autoHighlight> <true /> </autoHighlight>
  3201.         <sharedHighlight> <true /> </sharedHighlight>
  3202.         <family>0</family>
  3203.         <titleWidth>0</titleWidth>
  3204.         <icon>0</icon>
  3205.         <textAlign>center</textAlign>
  3206.         <font>Chicago</font>
  3207.         <textSize>12</textSize>
  3208.         <textStyle>plain</textStyle>
  3209.         <name>In Parent Field 2</name>
  3210.         <script></script>
  3211.     </part>
  3212.     <part>
  3213.         <id>223</id>
  3214.         <type>button</type>
  3215.         <visible> <false /> </visible>
  3216.         <reserved5> 0 </reserved5>
  3217.         <reserved4> 0 </reserved4>
  3218.         <reserved3> 0 </reserved3>
  3219.         <reserved2> 0 </reserved2>
  3220.         <reserved1> 0 </reserved1>
  3221.         <enabled> <true /> </enabled>
  3222.         <rect>
  3223.             <left>24</left>
  3224.             <top>251</top>
  3225.             <right>144</right>
  3226.             <bottom>270</bottom>
  3227.         </rect>
  3228.         <style>radiobutton</style>
  3229.         <showName> <true /> </showName>
  3230.         <highlight> <false /> </highlight>
  3231.         <autoHighlight> <true /> </autoHighlight>
  3232.         <sharedHighlight> <true /> </sharedHighlight>
  3233.         <family>0</family>
  3234.         <titleWidth>0</titleWidth>
  3235.         <icon>0</icon>
  3236.         <textAlign>center</textAlign>
  3237.         <font>Chicago</font>
  3238.         <textSize>12</textSize>
  3239.         <textStyle>plain</textStyle>
  3240.         <name>In Parent Field 3</name>
  3241.         <script></script>
  3242.     </part>
  3243.     <part>
  3244.         <id>210</id>
  3245.         <type>button</type>
  3246.         <visible> <false /> </visible>
  3247.         <reserved5> 0 </reserved5>
  3248.         <reserved4> 0 </reserved4>
  3249.         <reserved3> 0 </reserved3>
  3250.         <reserved2> 0 </reserved2>
  3251.         <reserved1> 0 </reserved1>
  3252.         <enabled> <true /> </enabled>
  3253.         <rect>
  3254.             <left>85</left>
  3255.             <top>66</top>
  3256.             <right>151</right>
  3257.             <bottom>86</bottom>
  3258.         </rect>
  3259.         <style>checkbox</style>
  3260.         <showName> <true /> </showName>
  3261.         <highlight> <false /> </highlight>
  3262.         <autoHighlight> <true /> </autoHighlight>
  3263.         <sharedHighlight> <true /> </sharedHighlight>
  3264.         <family>0</family>
  3265.         <titleWidth>0</titleWidth>
  3266.         <icon>0</icon>
  3267.         <textAlign>center</textAlign>
  3268.         <font>Chicago</font>
  3269.         <textSize>12</textSize>
  3270.         <textStyle>plain</textStyle>
  3271.         <name>Clear</name>
  3272.         <script>on mouseUpIf the highlight of bkgnd btn "Clear" is truethenset the highlight of bkgnd btn "Do Not Clear" to falseelseset the highlight of bkgnd btn "Do Not Clear" to trueend ifend mouseUp</script>
  3273.     </part>
  3274.     <part>
  3275.         <id>211</id>
  3276.         <type>button</type>
  3277.         <visible> <false /> </visible>
  3278.         <reserved5> 0 </reserved5>
  3279.         <reserved4> 0 </reserved4>
  3280.         <reserved3> 0 </reserved3>
  3281.         <reserved2> 0 </reserved2>
  3282.         <reserved1> 0 </reserved1>
  3283.         <enabled> <true /> </enabled>
  3284.         <rect>
  3285.             <left>192</left>
  3286.             <top>66</top>
  3287.             <right>298</right>
  3288.             <bottom>88</bottom>
  3289.         </rect>
  3290.         <style>checkbox</style>
  3291.         <showName> <true /> </showName>
  3292.         <highlight> <false /> </highlight>
  3293.         <autoHighlight> <true /> </autoHighlight>
  3294.         <sharedHighlight> <true /> </sharedHighlight>
  3295.         <family>0</family>
  3296.         <titleWidth>0</titleWidth>
  3297.         <icon>0</icon>
  3298.         <textAlign>center</textAlign>
  3299.         <font>Chicago</font>
  3300.         <textSize>12</textSize>
  3301.         <textStyle>plain</textStyle>
  3302.         <name>Do Not Clear</name>
  3303.         <script>on mouseUpIf the highlight of bkgnd btn "Do Not Clear" is truethenset the highlight of bkgnd btn "Clear" to falseelseset the highlight of bkgnd btn "Clear" to trueend ifend mouseUp</script>
  3304.     </part>
  3305.     <part>
  3306.         <id>234</id>
  3307.         <type>button</type>
  3308.         <visible> <false /> </visible>
  3309.         <reserved5> 0 </reserved5>
  3310.         <reserved4> 0 </reserved4>
  3311.         <reserved3> 0 </reserved3>
  3312.         <reserved2> 0 </reserved2>
  3313.         <reserved1> 0 </reserved1>
  3314.         <enabled> <true /> </enabled>
  3315.         <rect>
  3316.             <left>24</left>
  3317.             <top>54</top>
  3318.             <right>143</right>
  3319.             <bottom>76</bottom>
  3320.         </rect>
  3321.         <style>roundrect</style>
  3322.         <showName> <true /> </showName>
  3323.         <highlight> <false /> </highlight>
  3324.         <autoHighlight> <false /> </autoHighlight>
  3325.         <sharedHighlight> <true /> </sharedHighlight>
  3326.         <family>0</family>
  3327.         <titleWidth>0</titleWidth>
  3328.         <icon>0</icon>
  3329.         <textAlign>center</textAlign>
  3330.         <font>Chicago</font>
  3331.         <textSize>12</textSize>
  3332.         <textStyle>plain</textStyle>
  3333.         <name>Space Invaders</name>
  3334.         <script>on mouseUpglobal starttick, counter, totalcards, remaining, response, cardIDglobal changed, accumulator, testLine, cardName, bigCountset lockmessages to trueput empty into accumulatoranswer "Do you want suspect cards marked for manual action or clear spaces now?" with "Mark" or "Clear Spaces"put it into responseif response is "Mark" then unmark all cardsput number of cards of bkgnd "Info Cards" into totalCardsset cursor to 4put the ticks into starttickset cursor to 4lock screenset lockmessages to truerepeat with counter = 1 to number of cards of bkgnd "Info Cards"put field "Name" of card counter of bkgnd "Info Cards" into cardNameput short id of card counter of bkgnd "Info Cards" into cardIDput field "Name" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes"thenput testline into field "Name" of card counter of bkgnd "Info Cards"set the name of card counter of bkgnd "Info Cards" to testlineend ifput field "MarriedName" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes" then put testline into field "MarriedName" of card counter of bkgnd "Info Cards"put field "Spouse1" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes" then put testline into field "Spouse1" of card counter of bkgnd "Info Cards"put field "Spouse2" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes" then put testline into field "Spouse2" of card counter of bkgnd "Info Cards"put field "Spouse3" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes" then put testline into field "Spouse3" of card counter of bkgnd "Info Cards"put field "Spouse4" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes" then put testline into field "Spouse4" of card counter of bkgnd "Info Cards"put field "fatherName" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes" then put testline into field "fatherName" of card counter of bkgnd "Info Cards"put field "motherName" of card counter of bkgnd "Info Cards" into testLineput empty into changedif testline is not emptythenparsepuppyparseReturnend ifif changed = "Yes" then put testline into field "MotherName" of card counter of bkgnd "Info Cards"put field "Kids" of card counter of bkgnd "Info Cards" into tempHoldput empty into change2put empty into changedrepeat with ctr = 1 to number of lines of tempHoldput line ctr of temphold into testLineif testline is not empty then parsepuppyif changed = "Yes"thenput testline into line ctr of tempholdput "Yes" into change2end ifend repeatif change2 is "Yes" and response is "Clear Spaces"thenput temphold into field "Kids" of card counter of bkgnd "Info Cards"end ifput field "Siblings" of card counter of bkgnd "Info Cards" into tempHoldput empty into change2put empty into changedrepeat with ctr = 1 to number of lines of tempHoldput line ctr of temphold into testLineif testline is not empty then parsepuppyif changed = "Yes"thenput testline into line ctr of tempholdput "Yes" into change2end ifend repeatif change2 is "Yes" and response is "Clear Spaces"thenput temphold into field "Siblings" of card counter of bkgnd "Info Cards"end ifcalcendput counter & " cards of " & totalcards & " checked, " & remaining & " min:sec remaining"end repeatput number of lines in accumulator into bigCountput bigCount & " space invaders identified."answer "Do you want to store the report or display it now?" with "Cancel" or "Store" or "Display"if it is "Cancel" then exit mouseupput it into choiceif choice is "Display"thenset lockscreen to trueput return & return & return & return before accumulatorput accumulator into field "Cousin Display"show background button "Hide Display"show background button "Print Display"show field "Cousin Display"end ifif choice is "Store"thenask file "Please enter name and select destination of printfile" with "Spaces Report.Text"if it is empty thenask file "One more chance - please enter name for file." with "Floater Report.Text"end ifif it is empty thenput "File not written to disk"exit mouseupend ifput it into fileNameopen file fileNameif the result is not emptythenput the resultexit mouseupend ifwrite accumulator to file filenameclose file filenameanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."exit mouseupelseput it into applNameopen filename with applNameend ifend ifend ifplayprestoend mouseUpon parsePuppyglobal testline, response, cardName, cardID, accumulator, changedput empty into changedrepeat until finished = "0"put offset ("  ",testline) into finishedif finished > 0thenput testline & " on card " & cardName & " has double space" & return after accumulatorif response is "Mark"thenmark card id cardIDput 0 into finishedelsedelete char finished of testlineput "yes" into changedend ifend ifend repeatif the first char of testline is " "thenput testline & " on card " & cardName & " has leading space" & return after accumulatorif response is "Mark"then mark card id cardIDelsedelete first char of testlineput "yes" into changedend ifend ifif the last char of testline is " "thenput testline & " on card " & cardName & " has trailing space" & return after accumulatorif response is "Mark"then mark card id cardIDelsedelete last char of testlineput "yes" into changedend ifend ifend parsePuppyon parseReturnglobal testline, response, cardName, cardID, accumulator, changedif number of lines of testline > 1thenput testline & " on card " & cardName & " has "¬¨& number of lines of testline & " lines!!" & return after accumulatorif response is "Clear Spaces"thenput the first line of testline into testlineif the last char of testline is return then delete the last char of testlineput "Yes" into changedelsemark card id cardIDend ifend ifif the last char of testLine is returnthendelete the last char of testLineput "Yes" into changedend ifend parsereturn</script>
  3335.     </part>
  3336.     <part>
  3337.         <id>189</id>
  3338.         <type>button</type>
  3339.         <visible> <false /> </visible>
  3340.         <reserved5> 0 </reserved5>
  3341.         <reserved4> 0 </reserved4>
  3342.         <reserved3> 0 </reserved3>
  3343.         <reserved2> 0 </reserved2>
  3344.         <reserved1> 0 </reserved1>
  3345.         <enabled> <true /> </enabled>
  3346.         <rect>
  3347.             <left>413</left>
  3348.             <top>3</top>
  3349.             <right>491</right>
  3350.             <bottom>55</bottom>
  3351.         </rect>
  3352.         <style>transparent</style>
  3353.         <showName> <true /> </showName>
  3354.         <highlight> <false /> </highlight>
  3355.         <autoHighlight> <false /> </autoHighlight>
  3356.         <sharedHighlight> <true /> </sharedHighlight>
  3357.         <family>0</family>
  3358.         <titleWidth>0</titleWidth>
  3359.         <icon>29589</icon>
  3360.         <textAlign>center</textAlign>
  3361.         <font>Chicago</font>
  3362.         <textSize>12</textSize>
  3363.         <textStyle>plain</textStyle>
  3364.         <name>Hide Display</name>
  3365.         <script>on mouseUpset lockscreen to truehide background button "Print Display"hide background button "Hide Display"put empty into field "Cousin Display"hide field "Cousin Display"show background button "Reports"show background button "Find Card"end mouseUp</script>
  3366.     </part>
  3367.     <part>
  3368.         <id>188</id>
  3369.         <type>button</type>
  3370.         <visible> <false /> </visible>
  3371.         <reserved5> 0 </reserved5>
  3372.         <reserved4> 0 </reserved4>
  3373.         <reserved3> 0 </reserved3>
  3374.         <reserved2> 0 </reserved2>
  3375.         <reserved1> 0 </reserved1>
  3376.         <enabled> <true /> </enabled>
  3377.         <rect>
  3378.             <left>2</left>
  3379.             <top>3</top>
  3380.             <right>78</right>
  3381.             <bottom>57</bottom>
  3382.         </rect>
  3383.         <style>transparent</style>
  3384.         <showName> <true /> </showName>
  3385.         <highlight> <false /> </highlight>
  3386.         <autoHighlight> <false /> </autoHighlight>
  3387.         <sharedHighlight> <true /> </sharedHighlight>
  3388.         <family>0</family>
  3389.         <titleWidth>0</titleWidth>
  3390.         <icon>1007</icon>
  3391.         <textAlign>center</textAlign>
  3392.         <font>Chicago</font>
  3393.         <textSize>12</textSize>
  3394.         <textStyle>plain</textStyle>
  3395.         <name>Print Display</name>
  3396.         <script>on mouseUpprint field "Cousin Display"end mouseUp</script>
  3397.     </part>
  3398.     <part>
  3399.         <id>243</id>
  3400.         <type>button</type>
  3401.         <visible> <false /> </visible>
  3402.         <reserved5> 0 </reserved5>
  3403.         <reserved4> 0 </reserved4>
  3404.         <reserved3> 0 </reserved3>
  3405.         <reserved2> 0 </reserved2>
  3406.         <reserved1> 0 </reserved1>
  3407.         <enabled> <true /> </enabled>
  3408.         <rect>
  3409.             <left>21</left>
  3410.             <top>103</top>
  3411.             <right>121</right>
  3412.             <bottom>125</bottom>
  3413.         </rect>
  3414.         <style>roundrect</style>
  3415.         <showName> <true /> </showName>
  3416.         <highlight> <false /> </highlight>
  3417.         <autoHighlight> <false /> </autoHighlight>
  3418.         <sharedHighlight> <true /> </sharedHighlight>
  3419.         <family>0</family>
  3420.         <titleWidth>0</titleWidth>
  3421.         <icon>0</icon>
  3422.         <textAlign>center</textAlign>
  3423.         <font>Chicago</font>
  3424.         <textSize>12</textSize>
  3425.         <textStyle>plain</textStyle>
  3426.         <name>BDay Report</name>
  3427.         <script>on doReportglobal targetID, printfile, remaining,totalCards,starttick,counterglobal ageChoice,calcYearput empty into printFileset lockmessages to truelock screenask file "Select name and location of report text file." with "BD List.text"if it is emptythenask file "No file name was entered. If none is entered then the report will terminate." with "Card List.text"if it is empty then exit doReportend ifput it into fileNameopen file fileNameif the result is not emptythenput the result & "File was not opened."end if-- now we start write data to printFileput "Now gathering data."set cursor to 4set lockscreen to trueset lockmessages to trueanswer "Do you want to include the age?" with "Yes" or "No"put it into ageChoiceif it is "Yes"thenput the last word of the long date into currentYearask "Calculate age to what year?" with currentYearif it is empty then exit doReportput it into enterYearif enterYear < 0 or enterYear > 2020 then exit doReportput it into calcYearend ifanswer "Do you want to include all cards or marked cards?" with "Cancel" or "All Cards" or "Marked Cards"put it into setChoiceif it is "Cancel" then exit doReportif it is "Marked Cards"thenif number of marked cards > 0thenput the number of marked cards into totalCardsgo to first marked carddomenu "Prev"put the ticks into starttickrepeat with counter = 1 to the number of marked cardsgo to next marked cardput short id of this card into targetIDwriteBDcalcendput counter & " of " & totalcards & " accumulated " & remaining & " minutes:seconds left to go"end repeatwrite printfile to file fileNameelseput "No marked cards in this stack"end ifelseput the number of cards into totalCardsput the ticks into starttickrepeat with counter = 1 to the number of cards in bkgnd "Info Cards"go to card counter of bkgnd "Info Cards"put short id of this card into targetIDwriteBDcalcendput counter & " of " & totalcards & " accumulated " & remaining & " minutes:seconds left to go"end repeatwrite printfile to file fileNameend ifclose file fileNameplayprestoput "Records gathered - " & totalCardsset lockscreen to falseanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."elseput it into applNameopen filename with applNameend ifend ifhide messageend doReporton writeBDglobal printFile, mDates, targetID, MLNchoice, nameoglobal calcYear,ageChoice,holdMeput field "Birth Date" of card id targetID into holdMeif holdMe contains "," then withCommaParseif holdMe contains "/" then withSlashParseif holdMe is not emptythen--eliminate the year and place the month firstput empty into dayput empty into monthput empty into yearrepeat with counter2 = 1 to number of words of holdMeput word counter2 of holdMe into subjectif subject > 0 and subject < 32 then put subject into dayif subject > "a" and subject < "zz" then put subject into monthif subject >1000 and subject <2200 then put subject into yearend repeatif month is not empty and month > "A"thenif char 1 to 2 of month is "JA" then put "January" into monthif char 1 to 2 of month is "FE" then put "February" into monthif char 1 to 2 of month is "MA" then put "March" into monthif char 1 to 2 of month is "AP" then put "April" into monthif char 1 to 2 of month is "MA" then put "May" into monthif char 1 to 3 of month is "JUN" then put "June" into monthif char 1 to 3 of month is "JUL" then put "July" into monthif char 1 to 2 of month is "AU" then put "August" into monthif char 1 to 2 of month is "SE" then put "September" into monthif char 1 to 2 of month is "OC" then put "October" into monthif char 1 to 2 of month is "NO" then put "November" into monthif char 1 to 2 of month is "DE" then put "December" into monthend ifif month is not empty and day is not emptythenput month after printfileput space after printfileput day after printfileput tab after printfileput field "Name" of card id targetID after printfileput "'s Birthday" after printfileif ageChoice = "Yes"thenif year is not emptythenput calcYear into agesubtract year from ageput " (" & age & ")" after printfileend ifput return after printfileend ifend ifend ifend writeBDon withSlashParseglobal holdMeput empty into xDayput empty into xMonthput empty into xYearput offset("/",holdMe) into firstSlashput " " into char firstSlash of holdMeput offset("/",holdMe) into secondSlash-- if there are two slashes, then get mo-day-year else figure out the-- the two numbers in the date.put number of chars in holdMe into sizexif secondSlash > 0thenput char 1 to (firstSlash - 1) of holdMe into xMonthput char (firstSlash + 1) to (SecondSlash - 1) of holdMe into xDayput char (secondSlash +1)  to sizex of holdMe into xYearelse--this is the one slash logic- if one number > 31 then there is no dayput char 1 to (firstSlash -1) of holdMe into xMonthput char (firstSlash + 1) to sizex of holdMe into pugif pug > 31thenput pug into xYearput empty into xDayelseput pug into Xdayput empty into xYearend ifend ifif xMonth < 13thenput "January,February, March,April,May,June,July," into pickerput "August,September,October,November,December" after pickerput item xMonth of picker into xMonthend ifput xDay & " " & xMonth & " " & xYear into holdMeend withSlashParseon withCommaParseglobal holdMeput the number of chars in holdMe into sizeput offset(",",holdMe) into firstCommaput " " into char firstComma of holdMeput offset(",",holdMe) into secondCommaif secondComma > 0 then put " " into char secondComma of holdMe--put the characters between the last comma and the end into yearif secondComma > 0thenput char (secondComma +10) to size of holdMe into xYearelseput char (firstComma + 1) to size of holdMe into xYearend ifif xYear > 2040 then put empty into xYearif xYear is not emptythenput number of chars in xYear into lengthput "1900" into startoif length < 4thenput 4 - length into newSizeput char 1 to newsize of starto before xYearend ifend ifif secondComma > 0thenput xyear into char (secondComma + 1) to size of holdMeelseput xYear into char (firstComma + 1) to size of holdMeend if--the date should now have spaces instead of commas and the year should-- be four digitsend withCommaParse</script>
  3428.     </part>
  3429.     <part>
  3430.         <id>244</id>
  3431.         <type>button</type>
  3432.         <visible> <false /> </visible>
  3433.         <reserved5> 0 </reserved5>
  3434.         <reserved4> 0 </reserved4>
  3435.         <reserved3> 0 </reserved3>
  3436.         <reserved2> 0 </reserved2>
  3437.         <reserved1> 0 </reserved1>
  3438.         <enabled> <true /> </enabled>
  3439.         <rect>
  3440.             <left>138</left>
  3441.             <top>102</top>
  3442.             <right>238</right>
  3443.             <bottom>124</bottom>
  3444.         </rect>
  3445.         <style>roundrect</style>
  3446.         <showName> <true /> </showName>
  3447.         <highlight> <false /> </highlight>
  3448.         <autoHighlight> <false /> </autoHighlight>
  3449.         <sharedHighlight> <true /> </sharedHighlight>
  3450.         <family>0</family>
  3451.         <titleWidth>0</titleWidth>
  3452.         <icon>0</icon>
  3453.         <textAlign>center</textAlign>
  3454.         <font>Chicago</font>
  3455.         <textSize>12</textSize>
  3456.         <textStyle>plain</textStyle>
  3457.         <name>Alpha Listing</name>
  3458.         <script>on doReportglobal remaining, starttick, totalcards, counterset cursor to 4lock screenset lockmessages to trueput empty into mixerBowl-- get the name of the target text filerepeat foreverask file "Please select name and location of file to be created by this report." with "Alpha List Text File"if it is not empty then exit repeatend repeatput it into fileNameopen file fileNameif the result is not emptythenput "File could not be opened. - " & the resultend ifset lockscreen to trueset cursor to 4put "Now accumulating cardnames"put the ticks into starttickput number of cards of background "Info Cards" into totalcardsrepeat with counter = 1 to number of cards in background "Info Cards"put field "Name" of card counter of bkgnd "Info Cards" into holderPut the last word of holder into line counter of mixerbowlput ", " & return after line counter of mixerbowlput holder after line counter of mixerBowldelete last word of line counter of mixerbowlcalcendput counter & " accumulated out of " & totalcards & " , " & remaining & " left to go."end repeatput "Now Sorting"sort lines of mixerbowlwrite mixerbowl to file fileNameclose file fileNameanswer "Do you want to open this file with an application?" with "No" or "Yes"if it is "Yes"thenanswer file "Please select application to open Alpha List." of type APPLif it is empty then exit doReportput it into AppNameopen fileName with AppNameend ifplayprestoend doReport</script>
  3459.     </part>
  3460.     <part>
  3461.         <id>148</id>
  3462.         <type>button</type>
  3463.         <visible> <false /> </visible>
  3464.         <reserved5> 0 </reserved5>
  3465.         <reserved4> 0 </reserved4>
  3466.         <reserved3> 0 </reserved3>
  3467.         <reserved2> 0 </reserved2>
  3468.         <reserved1> 0 </reserved1>
  3469.         <enabled> <true /> </enabled>
  3470.         <rect>
  3471.             <left>493</left>
  3472.             <top>97</top>
  3473.             <right>512</right>
  3474.             <bottom>289</bottom>
  3475.         </rect>
  3476.         <style>opaque</style>
  3477.         <showName> <false /> </showName>
  3478.         <highlight> <false /> </highlight>
  3479.         <autoHighlight> <false /> </autoHighlight>
  3480.         <sharedHighlight> <true /> </sharedHighlight>
  3481.         <family>0</family>
  3482.         <titleWidth>0</titleWidth>
  3483.         <icon>0</icon>
  3484.         <textAlign>center</textAlign>
  3485.         <font>Chicago</font>
  3486.         <textSize>12</textSize>
  3487.         <textStyle>plain</textStyle>
  3488.         <name>Cover3</name>
  3489.         <script></script>
  3490.     </part>
  3491.     <part>
  3492.         <id>152</id>
  3493.         <type>button</type>
  3494.         <visible> <false /> </visible>
  3495.         <reserved5> 0 </reserved5>
  3496.         <reserved4> 0 </reserved4>
  3497.         <reserved3> 0 </reserved3>
  3498.         <reserved2> 0 </reserved2>
  3499.         <reserved1> 0 </reserved1>
  3500.         <enabled> <true /> </enabled>
  3501.         <rect>
  3502.             <left>0</left>
  3503.             <top>290</top>
  3504.             <right>510</right>
  3505.             <bottom>342</bottom>
  3506.         </rect>
  3507.         <style>opaque</style>
  3508.         <showName> <false /> </showName>
  3509.         <highlight> <false /> </highlight>
  3510.         <autoHighlight> <false /> </autoHighlight>
  3511.         <sharedHighlight> <true /> </sharedHighlight>
  3512.         <family>0</family>
  3513.         <titleWidth>0</titleWidth>
  3514.         <icon>0</icon>
  3515.         <textAlign>center</textAlign>
  3516.         <font>Chicago</font>
  3517.         <textSize>12</textSize>
  3518.         <textStyle>plain</textStyle>
  3519.         <name>Cover7</name>
  3520.         <script></script>
  3521.     </part>
  3522.     <part>
  3523.         <id>245</id>
  3524.         <type>button</type>
  3525.         <visible> <false /> </visible>
  3526.         <reserved5> 0 </reserved5>
  3527.         <reserved4> 0 </reserved4>
  3528.         <reserved3> 0 </reserved3>
  3529.         <reserved2> 0 </reserved2>
  3530.         <reserved1> 0 </reserved1>
  3531.         <enabled> <true /> </enabled>
  3532.         <rect>
  3533.             <left>202</left>
  3534.             <top>155</top>
  3535.             <right>220</right>
  3536.             <bottom>290</bottom>
  3537.         </rect>
  3538.         <style>opaque</style>
  3539.         <showName> <false /> </showName>
  3540.         <highlight> <false /> </highlight>
  3541.         <autoHighlight> <false /> </autoHighlight>
  3542.         <sharedHighlight> <true /> </sharedHighlight>
  3543.         <family>0</family>
  3544.         <titleWidth>0</titleWidth>
  3545.         <icon>0</icon>
  3546.         <textAlign>center</textAlign>
  3547.         <font>Chicago</font>
  3548.         <textSize>12</textSize>
  3549.         <textStyle>plain</textStyle>
  3550.         <name>Cover5</name>
  3551.         <script></script>
  3552.     </part>
  3553.     <part>
  3554.         <id>249</id>
  3555.         <type>button</type>
  3556.         <visible> <false /> </visible>
  3557.         <reserved5> 0 </reserved5>
  3558.         <reserved4> 0 </reserved4>
  3559.         <reserved3> 0 </reserved3>
  3560.         <reserved2> 0 </reserved2>
  3561.         <reserved1> 0 </reserved1>
  3562.         <enabled> <true /> </enabled>
  3563.         <rect>
  3564.             <left>245</left>
  3565.             <top>129</top>
  3566.             <right>345</right>
  3567.             <bottom>151</bottom>
  3568.         </rect>
  3569.         <style>roundrect</style>
  3570.         <showName> <true /> </showName>
  3571.         <highlight> <false /> </highlight>
  3572.         <autoHighlight> <false /> </autoHighlight>
  3573.         <sharedHighlight> <true /> </sharedHighlight>
  3574.         <family>0</family>
  3575.         <titleWidth>0</titleWidth>
  3576.         <icon>0</icon>
  3577.         <textAlign>center</textAlign>
  3578.         <font>Chicago</font>
  3579.         <textSize>12</textSize>
  3580.         <textStyle>plain</textStyle>
  3581.         <name>Descendants3</name>
  3582.         <script>on tenToTwelveglobal matchName, suffix, spouseNames, nameo, rowNum, colNumglobal printfile, spousesglobal targetnameglobal col10low,col11low,col12low,maxlowglobal collow,sibnum,kidcount,rightGroupLow,rightGroupHighglobal thisGroupLow,thisGroupHigh,spouseCount,col9spousesglobal group10high,group11high,group12highglobal group10low,group11low,group12lowglobal col9nameglobal leftCollow,brosisset lockmessages to true-- Column 10 routine startrepeat with col10 = 1 to the number of lines of field "Kids" of card col9nameput line col10 of field "kids" of card col9name into col10nameput the number of lines of field "Kids" of card col9name into bro10sisput col10nameif col10name is empty then next repeatput col10name into targetNamefillspousesput spouseNames into col10spousesif genSize > 10then-- Column 11 routine startrepeat with col11 = 1 to the number of lines of field "Kids" of card col10nameput line col11 of field "kids" of card col10name into col11nameput the number of lines of field "Kids" of card col10name into bro11sisput col11nameif col11name is empty then next repeatput col11name into targetNamefillspousesput spouseNames into col11spousesif genSize > 11then-- Column 12 routine startrepeat with col12 = 1 to the number of lines of field "Kids" of card col11nameput line col12 of field "kids" of card col11name into col12nameput the number of lines of field "Kids" of card col11name into bro12sisput col12nameif col12name is empty then next repeatput col12name into targetNamefillspousesput spouseNames into col12spouses-- Start the fill part of the repeat loops. -----------------prepare for row determinationput col12low into collowput col11low into leftcollowput col12 into sibNumput bro12sis into brosis-- Since this is the last generation, we pretend there are no kidsput 0 into kidCountput group12High into thisGroupHighput group12Low into thisGroupLowput col12name into targetNamefillSpousesput the number of lines of spouseNames into spouseCountput 12 into colNum-- determine the rowdetermineRow-- now put the new results into the proper variablesput collow into col12lowput thisGroupHigh into group12Highput thisGroupLow into group12Low-- this is the end of row determination-- this determines if there are multiple spouses of the parentif number of lines of col11spouses < 2 thenput empty after suffixelseif field "NameMF" of card col11name = M thenput field "MotherName" of card col12name into matchNameelseput field "FatherName" of card col12name into matchNameend ifput col11spouses into spousenamesgetSuffixend ifput col12name into nameoput col12low into rowNumput "12" into colNumwrite2Fileput rowNum into col12lowput col12name into targetNamefillSpousesif spouseNames is not empty thenput col12Low into rowNumspouseWriteput rowNum into col12lowend ifend repeatend if-----  This is the end of column 12 logic  ------------prepare for row determinationput col11low into collowput col10low into leftcollowput col11 into sibNumput bro11sis into brosisput the number of lines of field "Kids" of card col11name into kidCountput group11High into thisGroupHighput group11Low into thisGroupLowput group12High into rightGroupHighput group12Low into rightGroupLowput col11name into targetNamefillSpousesput the number of lines of spouseNames into spouseCountput 11 into colNum-- determine the rowdetermineRow-- now put the new results into the proper variablesput collow into col11lowput thisGroupHigh into group11Highput thisGroupLow into group11Low-- this is the end of row determination-- this determines if there are multiple spouses of the parentif number of lines of col10spouses < 2 thenput empty into suffixelseif field "NameMF" of card col10name = M thenput field "MotherName" of card col11name into matchNameelseput field "FatherName" of card col11name into matchNameend ifput col10spouses into spousenamesgetSuffixend ifput col11name into nameoput col11low into rowNumput "11" into colNumwrite2Fileput rowNum into col11lowput col11name into targetNamefillSpousesif spouseNames is not empty thenput col11Low into rowNumspouseWriteput rowNum into col11lowend ifend repeatend if-----  This is the end of column 11 logic  ------------prepare for row determinationput col10low into collowput col9low into leftcollowput col10 into sibNumput bro10sis into brosisput the number of lines of field "Kids" of card col10name into kidCountput group10High into thisGroupHighput group10Low into thisGroupLowput group11High into rightGroupHighput group11Low into rightGroupLowput col10name into targetNamefillSpousesput the number of lines of spouseNames into spouseCountput "10" into colNum-- determine the rowdetermineRow-- now put the new results into the proper variablesput collow into col10lowput thisGroupHigh into group10Highput thisGroupLow into group10Low-- this is the end of row determination-- this determines if there are multiple spouses of the parentif number of lines of col9spouses < 2 thenput empty into suffixelseif field "NameMF" of card col9name = M thenput field "MotherName" of card col10name into matchNameelseput field "FatherName" of card col10name into matchNameend ifput col9spouses into spousenamesgetSuffixend ifput col10name into nameoput col10low into rowNumput "10" into colNumwrite2Fileput rowNum into col10lowput col10name into targetNamefillSpousesif spouseNames is not empty thenput col10Low into rowNumspouseWriteput rowNum into col10lowend ifend repeat-----  This is the end of column 10 logic  ----------end tenToTwelve</script>
  3583.     </part>
  3584.     <part>
  3585.         <id>250</id>
  3586.         <type>button</type>
  3587.         <visible> <false /> </visible>
  3588.         <reserved5> 0 </reserved5>
  3589.         <reserved4> 0 </reserved4>
  3590.         <reserved3> 0 </reserved3>
  3591.         <reserved2> 0 </reserved2>
  3592.         <reserved1> 0 </reserved1>
  3593.         <enabled> <true /> </enabled>
  3594.         <rect>
  3595.             <left>257</left>
  3596.             <top>106</top>
  3597.             <right>357</right>
  3598.             <bottom>128</bottom>
  3599.         </rect>
  3600.         <style>roundrect</style>
  3601.         <showName> <true /> </showName>
  3602.         <highlight> <false /> </highlight>
  3603.         <autoHighlight> <false /> </autoHighlight>
  3604.         <sharedHighlight> <true /> </sharedHighlight>
  3605.         <family>0</family>
  3606.         <titleWidth>0</titleWidth>
  3607.         <icon>0</icon>
  3608.         <textAlign>center</textAlign>
  3609.         <font>Chicago</font>
  3610.         <textSize>12</textSize>
  3611.         <textStyle>plain</textStyle>
  3612.         <name>Outline Report</name>
  3613.         <script>on mouseUpGlobal TightLoose, SpouseYN, DatesChoice, LocChoice, StoryChoiceGlobal TotalGen, GenPerPage, CommaIndicator, FileName, sibNumChoiceglobal bigCounter, outlineGrid, postProcessor, ghosts, printAccumglobal maxGenUsed, totalLines, indentimoput empty into maxGenUsedput empty into totalLinesput empty into bigCounterput empty into ghostsanswer "Do you want tight or loose format?" with "Loose" or "Tight"put it into tightLooseanswer "Do you want the outline character shown before names?" with "No" or "Show"put it into sibNumChoiceif it is "Show"thenrepeat foreverput "Now building outline characters"set cursor to 4put card field "Outline Field" of card  "Intro" into sputnikoutlineRotor sputnikput the result into outlineGridif number of characters of outlineGrid < 100thenoutlinechoiceelseexit repeatend ifend repeatend ifput emptyhide message windowanswer "Which type of program will you use for this report?" with "WP" or "Spreadsheet"put it into postProcessorif postProcessor = "WP"thenask "Please enter the characters to use as the generation change indent. Default is four spaces." with "    "put it into indentimoend ifanswer "Do you want the spouse included?" with "No" or "Include"put it into spouseYNanswer "Do you want dates included?" with "Append B-YR" or "Dates" or "None"put it into datesChoiceif DatesChoice = "Dates"thenanswer "Do you want birth and death location included?" with "Yes" or "No"put it into locCHoiceelseput "No" into locChoiceend ifanswer "Do you want the story field included?" with "Yes" or "No"put it into storyChoicerepeat foreverask "How many generations do you want in the report" with "6"put it into totalGenif totalGen > 0 and totalGen < 13thenexit repeatelseanswer "You must enter a number between 1 and 12." with "Try Again"end ifend repeatput totalGen into genPerPageif totalGen > 3thenput "How many generations per page (3 - " & totalGen & ")" into showerask shower with "3"put it into genperpageif genperpage < 3 or genperpage > totalGenthenput "One more chance - " before showerask shower with "3"put it into genperpageif genperpage < 3 or genperpage > totalgenthenanswer "The report is terminating" with "Bye"exit to hypercardend ifend ifend ifput genperPage & " generations per page" & return into printAccumanswer "Do you want to eliminate commas in this report?" with "Retain" or "Eliminate"put it into commaIndicator-- Now get the text file nameput the short id of this card into origIDput the short name of this card into origNameput origName into suggestput "OLR - " before suggestask file "Please enter name and location for report file" with suggestput it into fileNameif it is emptythenanswer "No name entered, the report is terminating." with "Bye"exit to hypercardend ifopen file filenameif the result is not emptythenput the resultanswer "Can not open file" with "Bye"end if--now we can create the report.set cursor to 4set lockmessages to truewriteAgen origName,"1", "1"flushAccumclose file filenameplayPrestoif number of lines of Ghosts > 0thenanswer "Some missing cards (floaters) were found. What should we do?" with "Forget" or "Store" or "Print"put it into ghostChoiceif ghostChoice is "Print"thenput ghosts into field "Cousin Display"print field "Cousin Display"put empty into field "Cousin Display"end ifif ghostChoice is "Store"thenask file "Please enter name and location for missing card report file" with "Ghost Report"put it into fileName2if it is emptythenanswer "No name entered, missing cards report is removed" with "Okay"elseopen file filename2if the result is not emptythenput the resultanswer "Can not open file" with "Bye"end ifwrite ghosts to file filename2close file fileName2end ifend ifend ifput bigCounter & " descendants in " & maxGenUsed & " generations listed in " & totalLines & " lines."answer "Do you want to open the outline report with another application?" with "Yes" or "No"if it is yesthenanswer file "Please select the application to open report" of type APPLif it is empty thenput "No application selected, We're gone."exit mouseupelseput it into applNameopen filename with applNameend ifend ifend mouseUpon writeAgen genName, genNum, sibNumglobal totalGen, bigCounterput "Card " && quote & genName & quote into targetCardif objectExists(targetcard)thenwriteRealOne genName, genNum, sibNumif totalGen > genNumthenput field "Kids" of card genname into rotorrepeat with x = 1 to number of lines of rotorwriteAgen (line x of rotor), (genNum + 1), xend repeatend ifelsewriteAghost genName, genNum, sibNumend ifif number of lines of printaccum > 100 then flushAccumadd 1 to bigCounterput bigCounterend writeAgenon writeAghost genName, genNum, sibNumglobal sibNumChoice, totalGen, GenPerPage, lastInGenName, outlineGridglobal postProcessor, ghosts,indentimo, nameoput empty into preambleput bigName into line genNum of lastInGenNamerepeat ((genNum - 1) mod genPerPage) timesif postprocessor = "WP"thenput indentimo after preambleelseput tab after preambleend ifend repeat--need to see if this is the start of new generation grouping-- only if sibNum = 1if sibNum = 1 and (genNum mod GenPerPage) = 1 and GenNum > 1thenaddHeader gennumend ifput preamble into nameGlobif sibNumChoice = "Show"thenput item sibnum of line genNum of outlineGrid after nameGlobput item sibnum of line genNum of outlineGrid before line genNum of lastInGenNameend ifput genName into nameokillcommasput nameo into genName2put genName2 after nameGlobif postProcessor = "Spreadsheet" then put postAmble after nameGlobput empty into spouseGlobwriteToFile nameglob, spouseGlob, genNum, sibNumput genName & " on card " & line (genNum - 1) of lastinGenName & return after ghostsend writeAghoston writeRealOne genName, genNum, sibNumgetNameGlob genName, gennum, sibnumput the result into nameGlobgetSpouseGlob genName, gennum, sibnumput the result into spouseGlobwriteToFile nameglob, spouseGlob, genNum, sibNumend writeRealOneon writeToFile nameglob, spouseGlob, genNum, sibNumglobal fileName, printAccum, totalGen, genPerPage, tightLoose, spouseYNglobal datesChoice, locChoice, StoryChoice, commaIndicator, lastInGenNameglobal nameo, maxGenUsed, postprocessor, indentimoif genNum > maxGenUsed then put genNum into maxGenUsedif tightLoose = "loose" then put return after printAccumput number of lines of nameGlob into NGput number of lines of spouseGlob into SGif sg > ngthenrepeat with x = (ng + 1) to sgrepeat with y = 1 to (genperpage -1)if postprocessor ‚↠"WP"thenput tab after preambleend ifend repeatend repeatput number of lines of nameGlob into nGend ifput max(NG, SG) into spinner--need to see if this is the start of new generation grouping-- only if sibNum = 1if sibNum = 1 and (genNum mod GenPerPage) = 1 and GenNum > 1thenaddHeader gennumend ifrepeat with counter = 1 to spinnerput line counter of nameGlob after printAccumput line counter of spouseGlob after printAccumput return after printAccumend repeatend writeToFileon addHeader genNumglobal lastInGenName, printAccumrepeat with x = 1 to (genNum - 1)repeat (x - 1) timesput "> " after printAccumend repeatput line x of lastInGenname into nameokillcommasput nameo after printAccumput return after printAccumend repeatend addheaderon getnameGlob bigName, genNum, sibNumGlobal TightLoose, SpouseYN, DatesChoice, LocChoice, StoryChoice, outlineGridGlobal TotalGen, GenPerPage, CommaIndicator, SibNumChoice, lastInGenNameglobal postprocessor, indentimo, nameoput empty into nameGlobput empty into preambleput bigName into line genNum of lastInGenNamerepeat ((genNum - 1) mod genPerPage) timesif postprocessor = "WP"thenput indentimo after preambleelseput tab after preambleend ifend repeatput empty into postamblerepeat (genPerPage - number of characters in preamble - 1) timesput tab after postAmbleend repeatput preamble into nameGlobif sibNumChoice = "Show"thenput item sibnum of line genNum of outlineGrid after nameGlobput item sibnum of line genNum of outlineGrid before line genNum of lastInGenNameend ifput bigname into nameokillcommasput nameo into bigName2put bigName2 after nameGlobif datesChoice = "Append B-YR"thenput field "Birth Date" of card bigName into birthDateput last word of birthDate into birthYearif birthYear > 1 and birthYear < 2020thenput " b-" & birthYear after nameGlobend ifend ifif postProcessor = "Spreadsheet" then put postAmble after nameGlobput return after nameglobif datesChoice = "Dates"thenput field "Birth Date" of card bigname into birthDateif birthDate is not emptythenput preamble after nameGlobput "    b. " & birthDate after nameglobif locChoice = "Yes"thenput field "Birth Location" of card bigname into birthplaceif birthplace is not emptythenput " - bl. " & birthplace after nameglobend ifend ifif postProcessor = "Spreadsheet" then put postAmble after nameglobput return after nameGlobend ifput field "Death Date" of card bigname into deathDateif deathDate is not emptythenput preamble after nameGlobput "    d. " & deathDate after nameglobif locChoice = "Yes"thenput field "Death Location" of card bigname into deathplaceif deathhplace is not emptythenput " - dl. " & deathplace after nameglobend ifend ifif postProcessor = "Spreadsheet" then put postAmble after nameglobput return after nameGlobend ifend ifif storyChoice = "Yes"thenput return after nameglobput field "Story" of card bigName after nameGlobif the last character of nameglob <> return then put return after nameglobput return after nameglobend ifreturn nameGlobend getNameGlobon getspouseGlob bigNameGlobal TightLoose, SpouseYN, DatesChoice, LocChoice, StoryChoiceGlobal TotalGen, GenPerPage, CommaIndicator, postprocessor, nameoput empty into spouseGlobif spouseYN = "No" then exit getspouseGlobput empty into spousesput empty into datesput field "Spouse1" of card bigName into line 1 of spousesput field "Spouse2" of card bigName into line 2 of spousesput field "Spouse3" of card bigName into line 3 of spousesput field "Spouse4" of card bigName into line 4 of spousesput field "MDate1" of card bigName into line 1 of datesput field "MDate2" of card bigName into line 2 of datesput field "MDate3" of card bigName into line 3 of datesput field "MDate4" of card bigName into line 4 of datesrepeat with x = 1 to number of lines of spousesput line x of spouses into spousenameif spouseName is not emptythenput tab & " " & line x of dates after spouseGlobput spouseName into nameokillcommasput nameo into spousename2put tab & spouseName2 after spouseGlobput "card " && quote & spouseName & quote into goalif not objectExists(goal) then next repeatif datesChoice = "Append B-YR"thenput field "Birth Date" of card spouseName into birthDateput last word of birthDate into birthYearif birthYear > 1 and birthYear < 2020thenput " b-" & birthYear & return after spouseGlobend ifnext repeatend ifput return after spouseglobif datesChoice = "Dates"thenput field "Birth Date" of card spousename into birthDateif birthDate is not emptythenput tab & tab after spouseGlobput "    b. " & birthDate after spouseglobif locChoice = "Yes"thenput field "Birth Location" of card spouseName into birthplaceif birthplace is not emptythenput " - bl. " & birthplace after spouseglobend ifend ifput return after spouseglobend ifput field "Death Date" of card spouseName into deathDateif deathDate is not emptythenput tab & tab after spouseGlobput "    d. " & deathDate after spouseglobif locChoice = "Yes"thenput field "Death Location" of card spousename into deathplaceif deathhplace is not emptythenput " - bl. " & deathplace after spaceglobend ifend ifput return after spouseglobend ifend ifend ifend repeatreturn spouseglobend getspouseGlobon flushAccumglobal printAccum, fileName, totalLinesadd (number of lines of printaccum) to totalLineswrite printAccum to file fileNameput empty into printAccumend flushAccumon outlineRotor keyWordPUT EMPTY INTO OUTLINEGRIDif keyword = "Harvard"thenput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 1 OF OUTLINEGRIDPUT "A. ,B. ,C. ,D. ,E. ,F. ,G. ,H. ,I. ,J. ,K. ,L. ,M. ,N. ,O. ,P. ,Q. ,R. ,S. ,T. " INTO LINE 2 OF OUTLINEGRIDPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 3 of outlineGridput "a) ,b) ,c) ,d) ,e) ,f) ,g) ,h) ,i) ,j) ,k) ,l) ,m) ,n) ,o) ,p) ,q) ,r) ,s) ,t) ," into line 4 of outlineGridput "i) ,ii) ,iii) ,iv) ,v) ,vi) ,vii) ,viii) ,ix) ,x) ,xi) ,xii) ,xiii) ,xiv) ,xv) ,xvi) ,xvii) ,xviii) ,xix) ,xx) " into line 5 of outlinegridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 6 of outlineGridput "a) ,b) ,c) ,d) ,e) ,f) ,g) ,h) ,i) ,j) ,k) ,l) ,m) ,n) ,o) ,p) ,q) ,r) ,s) ,t) ," into line 7 of outlineGridput "i) ,ii) ,iii) ,iv) ,v) ,vi) ,vii) ,viii) ,ix) ,x) ,xi) ,xii) ,xiii) ,xiv) ,xv) ,xvi) ,xvii) ,xviii) ,xix) ,xx) " into line 8 of outlinegridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 9 of outlineGridput "a) ,b) ,c) ,d) ,e) ,f) ,g) ,h) ,i) ,j) ,k) ,l) ,m) ,n) ,o) ,p) ,q) ,r) ,s) ,t) ," into line 10 of outlineGridput "i) ,ii) ,iii) ,iv) ,v) ,vi) ,vii) ,viii) ,ix) ,x) ,xi) ,xii) ,xiii) ,xiv) ,xv) ,xvi) ,xvii) ,xviii) ,xix) ,xx) " into line 11 of outlinegridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 12 of outlineGridelseif keyword = "Chicago"thenput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 1 OF OUTLINEGRIDPUT "A. ,B. ,C. ,D. ,E. ,F. ,G. ,H. ,I. ,J. ,K. ,L. ,M. ,N. ,O. ,P. ,Q. ,R. ,S. ,T. " INTO LINE 2 OF OUTLINEGRIDPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 3 of outlineGridput "a) ,b) ,c) ,d) ,e) ,f) ,g) ,h) ,i) ,j) ,k) ,l) ,m) ,n) ,o) ,p) ,q) ,r) ,s) ,t) ," into line 4 of outlineGridPUT "(1) ,(2) ,(3) ,(4) ,(5) ,(6) ,(7) ,(8) ,(9) ,(10) ,(11) ,(12) ,(13) ,(14) ,(15) ,(16) ,(17) ,(18) ,(19) ,(20) " into line 5 of outlineGridput "(a) ,(b) ,(c) ,(d) ,(e) ,(f) ,(g) ,(h) ,(i) ,(j) ,(k) ,(l) ,(m) ,(n) ,(o) ,(p) ,(q) ,(r) ,(s) ,(t) " into line 6 of outlineGridput "i) ,ii) ,iii) ,iv) ,v) ,vi) ,vii) ,viii) ,ix) ,x) ,xi) ,xii) ,xiii) ,xiv) ,xv) ,xvi) ,xvii) ,xviii) ,xix) ,xx) " into line 7 of outlinegridPUT "(1) ,(2) ,(3) ,(4) ,(5) ,(6) ,(7) ,(8) ,(9) ,(10) ,(11) ,(12) ,(13) ,(14) ,(15) ,(16) ,(17) ,(18) ,(19) ,(20) " into line 8 of outlineGridput "(a) ,(b) ,(c) ,(d) ,(e) ,(f) ,(g) ,(h) ,(i) ,(j) ,(k) ,(l) ,(m) ,(n) ,(o) ,(p) ,(q) ,(r) ,(s) ,(t) " into line 9 of outlineGridput "i) ,ii) ,iii) ,iv) ,v) ,vi) ,vii) ,viii) ,ix) ,x) ,xi) ,xii) ,xiii) ,xiv) ,xv) ,xvi) ,xvii) ,xviii) ,xix) ,xx) " into line 10 of outlinegridPUT "(1) ,(2) ,(3) ,(4) ,(5) ,(6) ,(7) ,(8) ,(9) ,(10) ,(11) ,(12) ,(13) ,(14) ,(15) ,(16) ,(17) ,(18) ,(19) ,(20) " into line 11 of outlineGridput "(a) ,(b) ,(c) ,(d) ,(e) ,(f) ,(g) ,(h) ,(i) ,(j) ,(k) ,(l) ,(m) ,(n) ,(o) ,(p) ,(q) ,(r) ,(s) ,(t) " into line 12 of outlineGridelseif Keyword = "Roman"thenput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 1 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 2 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 3 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 4 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 5 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 6 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 7 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 8 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 9 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 10 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 11 OF OUTLINEGRIDput "I. ,II. ,III. ,IV. ,V. ,VI. ,VII. ,VIII. ,IX. ,X. ,XI. ,XII. ,XIII. ,XIV. ,XV. ,XVI. ,XVII. ,XVIII. ,XIX. ,XX. " INTO LINE 12 OF OUTLINEGRIDelseif keyword is "Goat Format"thenrepeat with goatx = 1 to 12repeat with goaty = 1 to 20put "g" & goatx & "-" & goaty & " ," after line goatx of outlineGridend repeatend repeatelseif keyword = "Sibling #"thenPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 1 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 2 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 3 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 4 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 5 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 6 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 7 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 8 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 9 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 10 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 11 of outlineGridPUT "1. ,2. ,3. ,4. ,5. ,6. ,7. ,8. ,9. ,10. ,11. ,12. ,13. ,14. ,15. ,16. ,17. ,18. ,19. ,20. " into line 12 of outlineGridend ifend ifend ifend ifend ifreturn outlineGridend outlineRotor</script>
  3614.     </part>
  3615.     <part>
  3616.         <id>251</id>
  3617.         <type>button</type>
  3618.         <visible> <false /> </visible>
  3619.         <reserved5> 0 </reserved5>
  3620.         <reserved4> 0 </reserved4>
  3621.         <reserved3> 0 </reserved3>
  3622.         <reserved2> 0 </reserved2>
  3623.         <reserved1> 0 </reserved1>
  3624.         <enabled> <true /> </enabled>
  3625.         <rect>
  3626.             <left>390</left>
  3627.             <top>104</top>
  3628.             <right>490</right>
  3629.             <bottom>126</bottom>
  3630.         </rect>
  3631.         <style>roundrect</style>
  3632.         <showName> <true /> </showName>
  3633.         <highlight> <false /> </highlight>
  3634.         <autoHighlight> <false /> </autoHighlight>
  3635.         <sharedHighlight> <true /> </sharedHighlight>
  3636.         <family>0</family>
  3637.         <titleWidth>0</titleWidth>
  3638.         <icon>0</icon>
  3639.         <textAlign>center</textAlign>
  3640.         <font>Chicago</font>
  3641.         <textSize>12</textSize>
  3642.         <textStyle>plain</textStyle>
  3643.         <name>pedigree</name>
  3644.         <script>on mouseUpglobal printfile, typeChoice ,genSize, DatesChoice,markchoice,Format,sibShowglobal tightLoose, commaIndicator, commaMask, LocationChoice,origIDglobal colNames, lows, highs, groupLows, pedghostsput "1,1,1,1,1,1,1,1,1,1,1,1,1" into lowsput "1,1,1,1,1,1,1,1,1,1,1,1,1" into highsput "1,1,1,1,1,1,1,1,1,1,1,1,1" into grouplowsput empty into colNamesput empty into pedGhostsput the short id of this card into origIDask "Select number of generations (2-12)" with "6"if the result is not empty then exit mouseupput it into genSizeif gensize < 2 or gensize > 12thenask "Last entry was invalid - select number of generations (2-12)" with "6"if the result is not empty then exit mouseupput it into genSizeif gensize < 2 or gensize > 12thenanswer "You must enter a number from 2 to 12 to run report." with "cancel"exit mouseupend ifend ifanswer "Do you want dates included?" with "Append bYR" or "Dates" or "No Dates"put it into DatesChoiceif datesChoice = "Dates"thenanswer "Do you want the locations of birth, death and marriage shown?" with "Yes" or "NO"put it into LocationChoiceend ifanswer "Do you want f. (father) and m. (mother) placed before names?" with "No" or "Show"put it into sibShowanswer "Do you want the cards used in this chart marked?" with "Mark" or "Do Not Mark"put it into markchoiceif markchoice is "Mark"thenanswer "Do you want all of the cards unmarked at the start?" with "Pass" or "Unmark"if it is "Unmark" then unmark all cardsend ifanswer "Should the child be level with the first parent or centered ?" with "Centered" or "Level"put it into Formatanswer "Do you want the tight format or loose?" with "Tight" or "Loose"put it into tightLooseanswer "Which file format?" with "Cancel" or "Text File" or "Link File"if it is "Cancel" then exit mouseupput it into tempChoiceif tempChoice is "Text File"thenput "Eliminate" into commaIndicatorput empty into commaMaskrepeat with counter = 2 to gensizeput "," after commaMaskend repeatend ifput "PDGRE- " & field "Name" into suggestask file "Please enter name and select destination of printfile" with suggestif it is empty thenask file "One more chance - please enter name for file." with suggestend ifif it is empty thenput "File name not entered"exit mouseUpend ifput it into fileNameopen file fileNameif the result is not empty thenput the resultexit mouseUpend ifset lockmessages to trueif tempchoice = "Text File" thenput "TEXT" into typeChoiceput "Now creating blank printfile"put commaMask & return into printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileend ifif tempChoice = "Link File" thenput "LINK" into typeChoiceanswer "Do you want to eliminate or retain commas in names?" with "Retain" or "Eliminate"put it into commaIndicator-- The following routine creates a blank printfile and sets some constants.loadConstantsend ifset lockscreen to trueset lockmessages to trueset cursor to 4storeGhostPed field "Name", "1"pedigreerotor field "Name", 2go to card id origIDwritePedigree field "Name", 1, , "true", "Yes"-- The names are gathered now.-- We will now calculate and  display the size of the printfileput "Names are accumulated, now calculating size"figureSizePed-- put the correct ending notification at the end of the link printfileif typeChoice = "LINK" thenput "E" after printFileend if--  If the choice was textfile, this will clean out the extra charactersif typeChoice = "TEXT" thencleanThePuppyend ifplaypresto-- put the printfile variable in a diskfilewrite printfile to file filenameif pedGhosts is not emptythenanswer "Missing cards were identified. What do you want to do with them?" with "Forget" or "Store" or "Print"put it into ghostChoiceif ghostChoice is "Print"thenput pedghosts into field "Cousin Display"print field "Cousin Display"put empty into field "Cousin Display"end ifif ghostChoice is "Store"thenask file "Please enter name and location for missing card report file" with "Ghost Report"put it into fileName2if it is emptythenanswer "No name entered, missing cards report is removed" with "Okay"elseopen file filename2if the result is not emptythenput the resultanswer "Can not open file" with "Bye"end ifwrite pedGhosts to file filename2close file fileName2end ifend ifend ifanswer "Do you want to open the Pedigree printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."exit mouseUpelseput it into applNameopen filename with applNameend ifend ifput "All Done"go to card id origIDend mouseupon pedigreeRotor bigName, colNumglobal genSizeput empty into furtherrepeat with fieldNum = 19 to 20put field fieldNum of card bigName into nextNameif nextName is not emptythenput "card " && quote & nextName & quote into thisNameput objectExists(thisName) into existoif existo = "false"thenstoreghostPed nextName, colnum, "Store"elsestoreGhostPed nextName, colnumend ifif fieldNum = 19thenput "f." into identifierelseif field 19 of card bigname is emptythenput "m." into identifierelseput " m." into identifierend ifend ifif gensize > colnum and existo = "true"thenpedigreeRotor nextName, (colnum + 1)put "Yes" into furtherif field 19 of card nextname is empty and field 20 of card nextName is empty and existo = "true"thenput "No" into furtherend ifelseput "No" into furtherend ifwritePedigree nextName, colNum, identifier, existo, furtherend ifend repeatend pedigreeRotoron writePedigree name1, colNum, identifier, existo, furtherglobal typechoice, sibshowglobal printfile, firsto, secondo, thirdo, fourtho,commaMaskglobal bDate, dDate, mDate, DatesChoice, markchoiceglobal LocationChoice,bLoc,dLoc,mLocglobal format, tightLoose-- find the appropriate row numberdetermineRowPed colNum, ,further, identifier, "Determine"put the result into rowNumif markchoice is "Mark" and existo = "true" then mark card nameoif sibShow is "Show"thenput identifier into sibbyelseput empty into sibbyend ifif DatesChoice is "Dates" and existo = "true" then getDatesPed name1if datesChoice is "Append bYR" and existo = "true"thenif last word of field "Birth date" of card name1 is not empty thenput " B-" & last word of field "Birth date" of card name1 before suffixrepeat until location = 0put offset (",",suffix) into locationif location > 0 thenput " " into character location of suffixend ifend repeatend ifend ifif typechoice = "LINK" thenkillCommasPed name1put the result into nameoput name1put firsto & rowNum & secondo & colNum & thirdo & sibby & nameo & fourtho after printFiledetermineRowPed colNum, rowNum, ,,"Group"if DatesChoice is "Dates" and existo = "true" thenput empty into suffixIf bDate is not empty thenadd 1 to rowNumput "    b. " & bDate into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileif LocationChoice = "Yes" and bLoc is not emptythenadd 1 to rownumput "    bl. " & bLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo &  fourtho after printFileend ifend ifIf dDate is not empty thenadd 1 to rowNumput "    d. " & dDate into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileif LocationChoice = "Yes" and dLoc is not emptythenadd 1 to rownumput "    dl. " & dLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileend ifend ifIf mDate is not empty thenput empty into mDate2if number of lines of mDate =1then put mDate into mDate2elseput "(" & number of lines of mDate & ") " into mDate2repeat with counter = 1 to number of lines of mDateif line counter of mDate is not emptythenput "-" & last word of line counter of mDate after mDate2end ifend repeatend ifif mDate2 is not empty thenadd 1 to rowNumput "    m. " & mDate2 into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileif LocationChoice = "Yes" and number of lines of mDate = 1 and mLoc is not emptythenadd 1 to rownumput "    ml. " & mLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileend ifend ifend ifend ifend ifif typeChoice = "TEXT" thenkillcommas name1put the result into nameoif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput name1put sibby & nameo into item colNum of line rowNum of printfileif DatesChoice is "Dates" and existo = "true" thengetDatesIf bDate is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    b. " & bDate into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileif LocationChoice = "Yes" and bLoc is not emptythenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    bl. " & bLoc into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileend ifend ifIf dDate is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    d. " & dDate into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileif LocationChoice = "Yes" and dLoc is not emptythenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    dl. " & dLoc into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileend ifend ifIf mDate is not empty thenput empty into mDate2if number of lines of mDate = 1thenput mdate into mDate2elserepeat with counter = 1 to the number of lines of mDateif line counter of mDate is not empty thenif counter = 1 thenput last word of line counter of mDate into mDate2elseput " - " & last word of line counter of mDate after mDate2end ifend ifend repeatend ifif mDate2 is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    m. " & mDate2 into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileif LocationChoice = "Yes" and number of lines of mLoc = 1thenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    ml. " & mLoc into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileend ifend ifend ifend ifend ifadd 1 to rowNumput empty into bDateput empty into dDateput empty into mDatedeterminerowPed colNum, rowNum,,, "Update"end writePedigreeon determineRowPed colnum, rownum, further, identifier, commandglobal lows, highs, grouplowsglobal Format, tightLooseif command = "Update"thenput rowNum into item colNum of lowsexit determineRowPedend ifif command = "Group"thenput rownum into item colnum of groupLowsexit determineRowPedend ifif further ‚↠"Yes" thenput item 1 to colnum of lows into puggput max(pugg) into maxlowif maxlow < 1 then put 1 into maxlowif first char of identifier > " "thenif tightLoose is "Tight"thenadd 1 to maxlowelseadd 2 to maxlowend ifelseif tightLoose is "Loose" then add 1 to maxlowend ifput maxlow into collowend ifif further = "Yes" thenif format contains "Level"thenput item (colNum + 1) of highs into collowelseput average ((item (colNum + 1) of grouplows),(item (colNum + 1) of highs)) into averageRowput trunc(averageRow) into averageRowif averageRow < (item (colNum + 1) of highs)thenput item (colNum + 1) of highs into averageRowend ifput averageRow into collowend ifend ifput collow into item colNum of lowsif first char of identifier > " " thenput collow into item colNum of highsend ifreturn collowend determineRowPedon getDatesPed name1global bDate, dDate, mDate,LocationChoice,bLoc,dLoc,mLocgo to card name1put field "Birth Date" into bDateput field "Birth Location" into bLocput field "Death Date" into dDateput field "Death Location" into dLocif field "MDate1" is not emptythenput field "MDate1" into mDateput field "Min1" into mLocend ifif field "MDate2" is not emptythenput field "MDate2" into line (number of lines of mDate +1) of mDateput field "Min2" into line (number of lines of mDate) of mLocend ifif field "MDate3" is not emptythenput field "MDate3" into line (number of lines of mDate +1) of mDateput field "Min3" into line (number of lines of mDate) of mLocend ifif field "MDate4" is not emptythenput field "MDate4" into line (number of lines of mDate +1) of mDateput field "Min4" into line (number of lines of mDate) of mLocend ifend getDatesPedon killCommasPed name1global commaIndicatorif commaIndicator is emptythenanswer "Do you want to eliminate or retain commas in names?" with "Retain" or "Eliminate"put it into commaIndicatorend ifif commaIndicator is "Eliminate"thenrepeat until location = 0put offset (",",name1) into locationif location > 0 thenput " " into character location of name1end ifend repeatend ifreturn name1end killCommasPedon storeGhostPed name1, colnum, actionglobal colNames, pedghostsif action = "Store"thenput name1 & " on card " & line (colNum - 1) of colnames & " has no card" & return after pedGhostsend ifput name1 into line colNum of colnamesif action = "Flush" then return PedGhostsend storeghostPedon figureSizePedglobal lows, printfileput max (lows) into lineNumrepeat with bomber = 1 to number of items of lowsif item bomber of lows > 1 then put bomber into generationsend repeat-- this will place the number of lines in the firt cell(A1) and the-- number of generations in the second cell(B1) of a spreadsheet-- a spreadsheet macro can use them in a routineif typeChoice = "TEXT"thenput linenum into item 1 of line 1 of printfileput generations into item 2 of line 1 of printfileelseput "C;Y1;X1;K" & linenum & return after printfileput "C;Y1;X2;K" & generations & return after printfileend if-- This displays # of lines and # of generationsput lineNum & " Lines covering " & generations & " Generations are gathered - Now compacting file."end figureSizePed</script>
  3645.     </part>
  3646.     <part>
  3647.         <id>252</id>
  3648.         <type>button</type>
  3649.         <visible> <false /> </visible>
  3650.         <reserved5> 0 </reserved5>
  3651.         <reserved4> 0 </reserved4>
  3652.         <reserved3> 0 </reserved3>
  3653.         <reserved2> 0 </reserved2>
  3654.         <reserved1> 0 </reserved1>
  3655.         <enabled> <true /> </enabled>
  3656.         <rect>
  3657.             <left>406</left>
  3658.             <top>79</top>
  3659.             <right>506</right>
  3660.             <bottom>101</bottom>
  3661.         </rect>
  3662.         <style>roundrect</style>
  3663.         <showName> <true /> </showName>
  3664.         <highlight> <false /> </highlight>
  3665.         <autoHighlight> <false /> </autoHighlight>
  3666.         <sharedHighlight> <true /> </sharedHighlight>
  3667.         <family>0</family>
  3668.         <titleWidth>0</titleWidth>
  3669.         <icon>0</icon>
  3670.         <textAlign>center</textAlign>
  3671.         <font>Chicago</font>
  3672.         <textSize>12</textSize>
  3673.         <textStyle>plain</textStyle>
  3674.         <name>Descendants</name>
  3675.         <script>on doChoiceanswer "Which format do you want?" with "Cancel" or "Tree" or "Outline"if it is "Outline"thensend mouseup to bkgnd btn "Outline Report"exit doChoiceend ifif it is "Tree"thenmouseupexit doChoiceend ifend doChoiceon mouseUpglobal printfile, typeChoice ,genSize, DatesChoice,markchoice,Format,sibShowglobal tightLoose, commaIndicator, commaMask, LocationChoice,origIDglobal colNames, lows, highs, groupLows, pedghosts, starttickput "1,1,1,1,1,1,1,1,1,1,1,1,1" into lowsput "1,1,1,1,1,1,1,1,1,1,1,1,1" into highsput "1,1,1,1,1,1,1,1,1,1,1,1,1" into grouplowsput empty into colNamesput empty into pedGhostsput the short id of this card into origIDput 12 into maximoput "Select number of generations (2-" & maximo & ")" into suggestask suggest with "6"if the result is not empty then exit mouseupput it into genSizeif gensize < 2 or gensize > maximothenput "Last emtry was invalid - " before suggestask suggest with "6"if the result is not empty then exit mouseupput it into genSizeif gensize < 2 or gensize > maximothenanswer "An invalid entry was entered twice. Now terminating." with "cancel"exit mouseupend ifend ifanswer "Do you want dates included?" with "Append bYR" or "Dates" or "No Dates"put it into DatesChoiceif datesChoice = "Dates"thenanswer "Do you want the locations of birth, death and marriage shown?" with "Yes" or "NO"put it into LocationChoiceend ifanswer "Do you want the sibling number to show before the name?" with "No" or "Show"put it into sibShowanswer "Do you want the cards used in this chart marked?" with "Mark" or "Do Not Mark"put it into markchoiceif markchoice is "Mark"thenanswer "Do you want all cards unmarked at the start?" with "Skip" or "Unmark"if it is "Unmark" then unmark all cardsend ifanswer "Should the child be level with the first parent or centered ?" with "Centered" or "Level"put it into Formatanswer "Do you want the tight format or loose?" with "Tight" or "Loose"put it into tightLooseanswer "Which file format?" with "Cancel" or "Text File" or "Link File"if it is "Cancel" then exit mouseupput it into tempChoiceif tempChoice is "Text File"thenput "Eliminate" into commaIndicatorput empty into commaMaskrepeat with counter = 2 to gensizeput "," after commaMaskend repeatend ifput "Tree- " & field "Name" into suggestask file "Please enter name and select destination of printfile" with suggestif it is empty thenask file "One more chance - please enter name for file." with suggestend ifif it is empty thenput "File name not entered"exit mouseUpend ifput it into fileNameopen file fileNameif the result is not empty thenput the resultexit mouseUpend ifset lockmessages to trueif tempchoice = "Text File" thenput "TEXT" into typeChoiceput "Now creating blank printfile"put commaMask & return into printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileput printfile after printfileend ifif tempChoice = "Link File" thenput "LINK" into typeChoiceanswer "Do you want to eliminate or retain commas in names?" with "Retain" or "Eliminate"put it into commaIndicator-- The following routine creates a blank printfile and sets some constants.loadConstantsend ifset lockscreen to trueset lockmessages to trueset cursor to 4storeGhostPed field "Name", "1"fillspousesDesc field "Name"put the result into spousespedigreerotor field "Name", 2, spousesgo to card id origIDwritePedigree field "Name", 1, , "true", "Yes", spouses-- The names are gathered now.-- We will now calculate and  display the size of the printfileput "Names are accumulated, now calculating size"figureSizePed-- put the correct ending notification at the end of the link printfileif typeChoice = "LINK" thenput "E" after printFileend if--  If the choice was textfile, this will clean out the extra charactersif typeChoice = "TEXT" thencleanThePuppyend ifgo to card id origIDplaypresto-- put the printfile variable in a diskfilewrite printfile to file filenameif pedGhosts is not emptythenanswer "Missing cards were identified. What do you want to do with them?" with "Forget" or "Store" or "Print"put it into ghostChoiceif ghostChoice is "Print"thenput pedghosts into field "Cousin Display"print field "Cousin Display"put empty into field "Cousin Display"end ifif ghostChoice is "Store"thenask file "Please enter name and location for missing card report file" with "Ghost Report"put it into fileName2if it is emptythenanswer "No name entered, missing cards report is removed" with "Okay"elseopen file filename2if the result is not emptythenput the resultanswer "Can not open file" with "Bye"end ifwrite pedGhosts to file filename2close file fileName2end ifend ifend ifanswer "Do you want to open the Pedigree printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."exit mouseUpelseput it into applNameopen filename with applNameend ifend ifput "All Done"go to card id origIDend mouseupon pedigreeRotor bigName, colNumglobal genSizeput empty into furtherfillspousesDesc bigNameput the result into bigSpousesput field "Kids" of card bigName into kidorepeat with counter = 1 to number of lines of Kidoput line counter of kido into nextNameif nextName is not emptythenput "card " && quote & nextName & quote into thisNameput objectExists(thisName) into existoif existo = "false"thenstoreghostPed nextName, colnum, "Store"elsestoreGhostPed nextName, colnumend ifif existo = "true"thenfillspousesDesc nextNameput the result into nextSpouseselseput empty into nextspousesend ifput counter into identifierif gensize > colnum and existo = "true"thenpedigreeRotor nextName, (colnum + 1), nextSpousesput "Yes" into furtherif field "Kids" of card nextname is emptythenput "No" into furtherend ifelseput "No" into furtherend if-- check for multiple spousesput empty into suffixif existo = "true" and number of lines of bigspouses > 1thenput field "NameMF" of card bigName into sexif sex = "M"thenput field "MotherName" of card nextName into parentelseput field "FatherName" of card nextName into parentend ifrepeat with x = 1 to number of lines of bigSpousesif parent = line x of bigspousesthenput "(" & x & ")" into suffixexit repeatend ifend repeatend ifwritePedigree nextName, colNum, identifier, existo, further, nextSpouses, suffixend ifend repeatend pedigreeRotoron writePedigree name1, colNum, identifier, existo, further, spouses, suffixglobal typechoice, sibshowglobal printfile, firsto, secondo, thirdo, fourtho,commaMaskglobal bDate, dDate, mDate, DatesChoice, markchoiceglobal LocationChoice,bLoc,dLoc,mLocglobal format, tightLoose-- find the appropriate row numberdetermineRowPed colNum, ,further, identifier, "Determine"put the result into rowNumif markchoice is "Mark" and existo = "true" then mark card name1if sibShow is "Show"thenput identifier into sibbyif identifier > 0 and identifier < 30thenput ". " after sibbyend ifelseput empty into sibbyend ifif identifier > 1 and identifier < 30 then put " " before sibbyif DatesChoice is "Dates" and existo = "true" then getDatesPed name1if datesChoice is "Append bYR" and existo = "true"thenif last word of field "Birth date" of card name1 is not empty thenput " B-" & last word of field "Birth date" of card name1 before suffixrepeat until location = 0put offset (",",suffix) into locationif location > 0 thenput " " into character location of suffixend ifend repeatend ifend ifif typechoice = "LINK" thenkillCommasPed name1put the result into nameoput name1put firsto & rowNum & secondo & colNum & thirdo & sibby & nameo & suffix & fourtho after printFileif DatesChoice is "Dates" and existo = "true" thenput empty into suffixIf bDate is not empty thenadd 1 to rowNumput "    b. " & bDate into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileif LocationChoice = "Yes" and bLoc is not emptythenadd 1 to rownumput "    bl. " & bLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo &  fourtho after printFileend ifend ifIf dDate is not empty thenadd 1 to rowNumput "    d. " & dDate into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileif LocationChoice = "Yes" and dLoc is not emptythenadd 1 to rownumput "    dl. " & dLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileend ifend ifIf mDate is not empty thenput empty into mDate2if number of lines of mDate =1then put mDate into mDate2elseput "(" & number of lines of mDate & ") " into mDate2repeat with counter = 1 to number of lines of mDateif line counter of mDate is not emptythenput "-" & last word of line counter of mDate after mDate2end ifend repeatend ifif mDate2 is not empty thenadd 1 to rowNumput "    m. " & mDate2 into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & fourtho after printFileif LocationChoice = "Yes" and number of lines of mDate = 1 and mLoc is not emptythenadd 1 to rownumput "    ml. " & mLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileend ifend ifend ifend ifend ifif typeChoice = "TEXT" thenkillcommas name1put the result into nameoif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput name1put sibby & nameo & suffix into item colNum of line rowNum of printfileif DatesChoice is "Dates" and existo = "true" thengetDatesIf bDate is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    b. " & bDate into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileif LocationChoice = "Yes" and bLoc is not emptythenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    bl. " & bLoc into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileend ifend ifIf dDate is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    d. " & dDate into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileif LocationChoice = "Yes" and dLoc is not emptythenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    dl. " & dLoc into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileend ifend ifIf mDate is not empty thenput empty into mDate2if number of lines of mDate = 1thenput mdate into mDate2elserepeat with counter = 1 to the number of lines of mDateif line counter of mDate is not empty thenif counter = 1 thenput last word of line counter of mDate into mDate2elseput " - " & last word of line counter of mDate after mDate2end ifend ifend repeatend ifif mDate2 is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    m. " & mDate2 into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileif LocationChoice = "Yes" and number of lines of mLoc = 1thenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    ml. " & mLoc into nameokillcommas nameoput the result into nameoput nameo into item colNum of line rowNum of printfileend ifend ifend ifend ifend ifadd 1 to rowNumput empty into bDateput empty into dDateput empty into mDatedeterminerowPed colNum, rowNum,,,"Update"-- write spouses at this timeif spouses is not emptythenwritespouses spouses, colNumend ifend writePedigreeon determineRowPed colnum, rownum, further, identifier, commandglobal lows, highs, grouplowsglobal Format, tightLooseif command = "Update"thenput rowNum into item colNum of lowsexit determineRowPedend ifif identifier = "  "thenput item colNum of lows into rownumreturn rownumexit determineRowPedend ifif further ‚↠"Yes" and identifier ‚↠"  " thenput item 1 to colnum of lows into puggput max(pugg) into maxlowif identifier = 1thenif tightLoose is "Tight"thenadd 1 to maxlowelseadd 2 to maxlowend ifelseif tightLoose is "Loose" then add 1 to maxlowend ifput maxlow into collowend ifif further = "Yes" and identifier ‚↠"  " thenif format contains "Level"thenput item (colNum + 1) of highs into collowelseput average ((item (colNum + 1) of grouplows),(item (colNum + 1) of highs)) into averageRowput trunc(averageRow) into averageRowif averageRow < (item (colNum + 1) of highs)thenput item (colNum + 1) of highs into averageRowend ifput averageRow into collowend ifend ifput collow into item colNum of lowsif identifier = 1 thenput collow into item colNum of highsend ifput collow into item colnum of grouplowsreturn collowend determineRowPedon getDatesPed name1global bDate, dDate, mDate,LocationChoice,bLoc,dLoc,mLocgo to card name1put field "Birth Date" into bDateput field "Birth Location" into bLocput field "Death Date" into dDateput field "Death Location" into dLocif field "MDate1" is not emptythenput field "MDate1" into mDateput field "Min1" into mLocend ifif field "MDate2" is not emptythenput field "MDate2" into line (number of lines of mDate +1) of mDateput field "Min2" into line (number of lines of mDate) of mLocend ifif field "MDate3" is not emptythenput field "MDate3" into line (number of lines of mDate +1) of mDateput field "Min3" into line (number of lines of mDate) of mLocend ifif field "MDate4" is not emptythenput field "MDate4" into line (number of lines of mDate +1) of mDateput field "Min4" into line (number of lines of mDate) of mLocend ifend getDatesPedon killCommasPed name1global commaIndicatorif commaIndicator is emptythenanswer "Do you want to eliminate or retain commas in names?" with "Retain" or "Eliminate"put it into commaIndicatorend ifif commaIndicator is "Eliminate"thenrepeat until location = 0put offset (",",name1) into locationif location > 0 thenput " " into character location of name1end ifend repeatend ifreturn name1end killCommasPedon storeGhostPed name1, colnum, actionglobal colNames, pedghostsif action = "Store"thenput name1 & " on card " & line (colNum - 1) of colnames & " has no card" & return after pedGhostsend ifput name1 into line colNum of colnamesif action = "Flush" then return PedGhostsend storeghostPedon figureSizePedglobal lows, printfileput max (lows) into lineNumrepeat with bomber = 1 to number of items of lowsif item bomber of lows > 1 then put bomber into generationsend repeat-- this will place the number of lines in the firt cell(A1) and the-- number of generations in the second cell(B1) of a spreadsheet-- a spreadsheet macro can use them in a routineif typeChoice = "TEXT"thenput linenum into item 1 of line 1 of printfileput generations into item 2 of line 1 of printfileelseput "C;Y1;X1;K" & linenum & return after printfileput "C;Y1;X2;K" & generations & return after printfileend if-- This displays # of lines and # of generationsput lineNum & " Lines covering " & generations & " Generations are gathered - Now compacting file."end figureSizePedon fillspousesDesc thisNameput empty into spousesput field "spouse1" of card thisName into holdoif holdo is not empty then put holdo into spousesput field "spouse2" of card thisName into holdoif holdo is not emptythenput holdo into line (number of lines of spouses + 1) of spousesend ifput field "spouse3" of card thisName into holdoif holdo is not emptythenput holdo into line (number of lines of spouses + 1) of spousesend ifput field "spouse4" of card thisName into holdoif holdo is not emptythenput holdo into line (number of lines of spouses + 1) of spousesend ifreturn spousesend fillspousesDescon writespouses spouseNames, colNumput "  " into identifierif spouseNames is empty then exit writespousesrepeat with x = 1 to number of lines of spousenamesput line x of spousenames into nameput "card " && quote & name & quote into targetNameput objectexists(targetName) into existoif existo = "false"thenstoreghostPed Name, colnum + 1, "Store"end ifif number of lines of spousenames > 1thenput "(" & x & ")" into suffixelseput empty into suffixend ifwritePedigree name, colNum, identifier, existo,,,suffixend repeatend writespouses</script>
  3676.     </part>
  3677.     <part>
  3678.         <id>253</id>
  3679.         <type>button</type>
  3680.         <visible> <false /> </visible>
  3681.         <reserved5> 0 </reserved5>
  3682.         <reserved4> 0 </reserved4>
  3683.         <reserved3> 0 </reserved3>
  3684.         <reserved2> 0 </reserved2>
  3685.         <reserved1> 0 </reserved1>
  3686.         <enabled> <true /> </enabled>
  3687.         <rect>
  3688.             <left>373</left>
  3689.             <top>129</top>
  3690.             <right>485</right>
  3691.             <bottom>153</bottom>
  3692.         </rect>
  3693.         <style>roundrect</style>
  3694.         <showName> <true /> </showName>
  3695.         <highlight> <false /> </highlight>
  3696.         <autoHighlight> <false /> </autoHighlight>
  3697.         <sharedHighlight> <true /> </sharedHighlight>
  3698.         <family>0</family>
  3699.         <titleWidth>0</titleWidth>
  3700.         <icon>0</icon>
  3701.         <textAlign>center</textAlign>
  3702.         <font>Chicago</font>
  3703.         <textSize>12</textSize>
  3704.         <textStyle>plain</textStyle>
  3705.         <name>Integrity Report</name>
  3706.         <script>on mouseupdoreportend mouseupon doReportglobal origID, startTick, counter, totalCards, remaining, reportXXXput the short ID of this card into origIDput empty into reportXXXanswer "Which cards should be checked?" with "This Card" or "Marked Cards" or "All Cards"put it into setselectionif setSelection is empty then exit doReport-- this checks the marked cardsif setSelection = "Marked Cards"thenput the ticks into startTickput the number of marked cards into totalcardsrepeat with counter = 1 to number of marked cardsput field "Name" of marked card counter into currentnameintegrityCheck currentNamecalcEndput counter & " of " & totalcards & " checked. " & remaining & " min:sec remaining"end repeatend if-- this section will check all cards of background "Info Cards"if setSelection = "All Cards"thenput the ticks into startTickput the number of cards of bkgnd "Info Cards" into totalcardsrepeat with counter = 1 to number of cards of bkgnd "Info Cards"put field "Name" of card counter of bkgnd "info Cards" into currentnameintegrityCheck currentNamecalcEndput counter & " of " & totalcards & " checked. " & remaining & " min:sec remaining"end repeatend if-- this checks only this cardif setSelection = "This Card"thenintegrityCheck field "Name"end if----------------------------------------------------------put number of lines of reportXXX & " lines in report"answer "Do you want to store the report or print it now?" with "Cancel" or "Store" or "Display"if it is "Cancel" then exit doreportput it into choiceif choice is "Display"thenset lockscreen to trueput return & return & return & return before reportXXXput reportXXX into field "Cousin Display"show background button "Hide Display"show background button "Print Display"show field "Cousin Display"end ifif choice is "Store"thenask file "Please enter name and select destination of report" with "Integrity Report.Text"if it is empty thenask file "One more chance - please enter name for file." with "Integrity Report.Text"end ifif it is empty thenput "File not written to disk"exit doreportend ifput it into fileNameopen file fileNameif the result is not emptythenput the resultexit doreportend ifwrite reportXXX to file filenameclose file filenameanswer "Do you want to open the report with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open report" of type APPLif it is empty thenput "No application selected, We're gone."exit doreportelseput it into applNameopen filename with applNameend ifend ifend ifend doReporton integrityCheck currentNameglobal reportXXXset cursor to 4set lockmessages to true-- get the spousenamesput empty into spousenamesif field "Spouse1" of card currentName is not emptythenaddToNames field "Spouse1" of card currentName , spousenamesput the result into spouseNamesend ifif field "Spouse2" of card currentName is not emptythenaddToNames field "Spouse2" of card currentName , spousenamesput the result into spouseNamesend ifif field "Spouse3" of card currentName is not emptythenaddToNames field "Spouse3" of card currentName , spousenamesput the result into spouseNamesend ifif field "Spouse4" of card currentName is not emptythenaddToNames field "Spouse4" of card currentName , spousenamesput the result into spouseNamesend if-- get the parents namesput empty into parentNamesif field "FatherName" of card currentName is not emptythenaddToNames field "FatherName" of card currentName , parentNamesput the result into parentNamesend ifif field "MotherName" of card currentName is not emptythenaddToNames field "MotherName" of card currentName , parentNamesput the result into parentNamesend if-- get the kids namesput field "Kids" of card currentName into kidNames-- get the sibling namesput field "Siblings" of card currentName into siblingNames-- Here we will change the spouse cardsrepeat with x = 1 to number of lines of spouseNamesput line x of spouseNames into targetNameif targetName is not emptythencheckAspouse targetName, currentNameend ifend repeat-- Here we will change the parents cardsrepeat with x = 1 to number of lines of parentNamesput line x of parentNames into targetNameif targetName is not emptythencheckAparent targetName, currentNameend ifend repeat-- Here we will change the siblings cardsrepeat with x = 1 to number of lines of siblingNamesput line x of siblingNames into targetNameif targetName is not emptythencheckAsibling targetName, currentNameend ifend repeat-- here we will change the kids cardsrepeat with x = 1 to number of lines of kidNamesput line x of kidNames into targetNameif targetName is not emptythencheckAkid targetName, currentNameend ifend repeatend integrityCheckon addToNames name, glomput name into line (number of lines of glom + 1) of glomreturn glomend addToNameson checkAspouse targetName, currentNameglobal reportXXXput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for spouse " & targetName & " does not exist." & return after reportXXXexit checkAspouseend ifput field "Spouse1" of card targetName into catcherif catcher = currentNamethenexit checkAspouseend ifput field "Spouse2" of card targetName into catcherif catcher = currentName  thenexit checkAspouseend ifput field "Spouse3" of card targetName into catcherif catcher = currentNamethenexit checkAspouseend ifput field "Spouse4" of card targetName into catcherif catcher = currentNamethenexit checkAspouseend ifput "The name " & currentName & " was not found as a spouse on card " &targetName & return after reportXXXend checkAspouseon checkAparent targetName, currentNameglobal reportXXXput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for parent " & targetName & " does not exist." & return after reportXXXexit checkAparentend ifput field "Kids" of card targetName into rotorrepeat with y = 1 to number of lines of rotorif line y of rotor = currentNamethenexit checkAparentend ifend repeatput "the name " & currentName & " was not found as a kid on card " & targetName & return after reportXXXend checkAparenton checkAsibling targetName, currentNameglobal reportXXXput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for sibling " & targetName & " does not exist." & return after reportXXXexit checkAsiblingend ifput field "Siblings" of card targetName into rotorrepeat with y = 1 to number of lines of rotorif line y of rotor = currentNamethenexit checkAsiblingend ifend repeatput "the name " & currentName & " was not found as a sibling on card " & targetName & return after reportXXXend checkAsiblingon checkAkid targetName, currentNameglobal reportXXXput "card " && quote & targetName & quote into glomif  not objectExists(glom)thenput "The card for kid " & targetName & " does not exist." & return after reportXXXexit checkAkidend ifput field "NameMF" of card currentName into indicatorif indicator = "F"thenif field "MotherName" of card targetName ‚↠currentNamethenput "The name " & currentName & " is not the mother of " & targetName & return after reportXXXexit checkAkidend ifelseif field "FatherName" of card targetName ‚↠currentNamethenput "The name " & currentName & " is not the father of " & targetName & return after reportXXXexit checkAkidend ifend ifend checkAkid</script>
  3707.     </part>
  3708.     <content>
  3709.         <layer>background</layer>
  3710.         <id>209</id>
  3711.         <text><span class="style18"> </span><span class="style17">  Card Marking Routine</span><span class="style19"> </span><span class="style20">You must select either "Clear" or "Do Not Clear" before  selecting "</span><span class="style5">Mark Cards</span><span class="style20">"!0 cards are currently marked</span></text>
  3712.     </content>
  3713.     <content>
  3714.         <layer>background</layer>
  3715.         <id>197</id>
  3716.         <text><span class="style16"><a href="#" class="group">ll Relations</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Descendants</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Print Marked Cards</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Text File Listing</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Hanging Names</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Mark Cards</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Floater Report</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Duplicates Report</a></span><span class="style1"></span><span class="style16"><a href="#" class="group">Space Invaders</a></span></text>
  3717.     </content>
  3718.     <content>
  3719.         <layer>background</layer>
  3720.         <id>190</id>
  3721.         <text>>>>>>>>>>>>></text>
  3722.     </content>
  3723.     <content>
  3724.         <layer>background</layer>
  3725.         <id>191</id>
  3726.         <text>>>>>>>>>>>>></text>
  3727.     </content>
  3728.     <name>Info Cards</name>
  3729.     <script>on openBackgroundglobal hideShowIndicatorif hideShowIndicator is "SHOW"thenshow menubarelsehide menuBarend ifend openBackgroundon opencardglobal PictChoicesput empty into pictChoicesshow background button "Find Card"show background button "Reports"if the marked of this card is true and the hilite of bkgnd btn "isItMarked" is falsethenset the highlight of background button "isItMarked" to trueend ifif the marked of this card is false and the hilite of bkgnd btn "isItMarked" is truethenset the highlight of background button "isItMarked" to falseend ifif the number of lines of field "Pict Names" > 0thenset the hilite of bkgnd btn "Pictures Present" to trueelseset the hilite of bkgnd btn "Pictures Present" to falseend ifput "Card " & (the number of this card - 2) & " of " & (the number of¬¨cards - 2) into field "Cards"end opencardon closeCardglobal hideShowIndicatorput empty into field "Cousin Display"hide field "Cousin Display"show background button "Find Card"show background button "Reports"hide background button "Print Display"hide background button "Hide Display"if hideShowIndicator is "SHOW"thenshow menubarelsehide menuBarend ifset cursor to 4set name of this card to field 1end closeCardon idleif visible of background button "cover4" is truethenset cursor to 4hide field "Story"hide background button "cover3"hide background button "cover4"hide background button "cover5"hide background button "cover6"hide background button "cover7"hide background button "CoverFL"hide background button "CoverFR"hide background button "CoverML"hide background button "CoverMR"end ifpass idleend idleon loadConstantsglobal printfile, firsto, secondo, thirdo, fourthoput "ID;PGL" & return into printFileput "F;DG0G10" & return after printfileput "O;L" & return after printfileput "C;Y" into firstoput ";X" into secondoput ";K" & quote into thirdoput quote & return into fourthoend loadConstantson getDatesglobal nameo, bDate, dDate, mDate,LocationChoice,bLoc,dLoc,mLocgo to card nameoput field "Birth Date" into bDateput field "Birth Location" into bLocput field "Death Date" into dDateput field "Death Location" into dLocif field "MDate1" is not emptythenput field "MDate1" into mDateput field "Min1" into mLocend ifif field "MDate2" is not emptythenput field "MDate2" into line (number of lines of mDate +1) of mDateput field "Min2" into line (number of lines of mDate) of mLocend ifif field "MDate3" is not emptythenput field "MDate3" into line (number of lines of mDate +1) of mDateput field "Min3" into line (number of lines of mDate) of mLocend ifif field "MDate4" is not emptythenput field "MDate4" into line (number of lines of mDate +1) of mDateput field "Min4" into line (number of lines of mDate) of mLocend ifend getDateson write2Fileglobal suffix, nameo, rowNum, colNum,typechoice,sibshow, sibNumglobal printfile, firsto, secondo, thirdo, fourtho,commaMaskglobal bDate, dDate, mDate, DatesChoice, spacer,markchoiceglobal LocationChoice,bLoc,dLoc,mLocif markchoice is "Mark" then mark card nameoif sibShow is "Show" and spacer is not "  " and sibNum is not emptythenput sibNum & ". " into sibbyelseput empty into sibbyend ifif sibNum > 1 and sibNum < 50thenput " " before sibbyend ifif DatesChoice is "Dates" then getDatesif datesChoice is "Append bYR"thenif last word of field "Birth date" of card nameo is not empty thenput " B-" & last word of field "Birth date" of card nameo before suffixrepeat until location = 0put offset (",",suffix) into locationif location > 0 thenput " " into character location of suffixend ifend repeatend ifend ifif typechoice = "LINK" thenkillCommasput firsto & rowNum & secondo & colNum & thirdo &  spacer & sibby & nameo & suffix & fourtho after printFileif DatesChoice is "Dates" thenput empty into suffixIf bDate is not empty thenadd 1 to rowNumput "    b. " & bDate into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileif LocationChoice = "Yes" and bLoc is not emptythenadd 1 to rownumput "    bl. " & bLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileend ifend ifIf dDate is not empty thenadd 1 to rowNumput "    d. " & dDate into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileif LocationChoice = "Yes" and dLoc is not emptythenadd 1 to rownumput "    dl. " & dLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileend ifend ifIf mDate is not empty thenput empty into mDate2if number of lines of mDate =1then put mDate into mDate2elseput "(" & number of lines of mDate & ") " into mDate2repeat with counter = 1 to number of lines of mDateif line counter of mDate is not emptythenput "-" & last word of line counter of mDate after mDate2end ifend repeatend ifif mDate2 is not empty thenadd 1 to rowNumput "    m. " & mDate2 into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileif LocationChoice = "Yes" and number of lines of mLoc = 1thenadd 1 to rownumput "    ml. " & mLoc into nameoput firsto & rowNum & secondo & colNum & thirdo & nameo & suffix & fourtho after printFileend ifend ifend ifend ifend ifif typeChoice = "TEXT" thenkillcommasif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput spacer & sibby & nameo & suffix into item colNum of line rowNum of printfileif DatesChoice is "Dates" thenput empty into suffixgetDatesIf bDate is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    b. " & bDate into nameokillcommasput nameo & suffix into item colNum of line rowNum of printfileif LocationChoice = "Yes" and bLoc is not emptythenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    bl. " & bLoc into nameokillcommasput nameo & suffix into item colNum of line rowNum of printfileend ifend ifIf dDate is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    d. " & dDate into nameokillcommasput nameo & suffix into item colNum of line rowNum of printfileif LocationChoice = "Yes" and dLoc is not emptythenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    dl. " & dLoc into nameokillcommasput nameo & suffix into item colNum of line rowNum of printfileend ifend ifIf mDate is not empty thenput empty into mDate2if number of lines of mDate = 1thenput mdate into mDate2elserepeat with counter = 1 to the number of lines of mDateif line counter of mDate is not empty thenif counter = 1 thenput last word of line counter of mDate into mDate2elseput " - " & last word of line counter of mDate after mDate2end ifend ifend repeatend ifif mDate2 is not empty thenadd 1 to rowNumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    m. " & mDate2 into nameokillcommasput nameo & suffix into item colNum of line rowNum of printfileif LocationChoice = "Yes" and number of lines of mLoc = 1thenadd 1 to rownumif line rowNum of printfile is emptythenput commaMask into line rownum of printfileend ifput "    ml. " & mLoc into nameokillcommasput nameo & suffix into item colNum of line rowNum of printfileend ifend ifend ifend ifend ifadd 1 to rowNumput empty into suffixput empty into bDateput empty into dDateput empty into mDateput empty into spacerend write2Fileon killCommasglobal nameo, commaIndicatorif commaIndicator is emptythenanswer "Do you want to eliminate or retain commas in names?" with "Retain" or "Eliminate"put it into commaIndicatorend ifif commaIndicator is "Eliminate"thenrepeat until location = 0put offset (",",nameo) into locationif location > 0 thenput " " into character location of nameoend ifend repeatend ifput mut into gutend killCommason fillSpousesglobal spouseNames, targetname, holderput empty into spouseNamesput field "Spouse1" of card targetName into holderuseIfThereput field "Spouse2" of card targetName into holderuseIfThereput field "Spouse3" of card targetName into holderuseifthereput field "Spouse4" of card targetName into holderuseifthereend fillSpouseson spouseWriteglobal spousenames, nameo, spacer, suffixif number of lines of spouseNames = 1 thenput line 1 of spouseNames into nameoput nameoput empty into suffixput "  " into spacerwrite2Fileexit spousewriteelseput line 1 of spouseNames into nameoput nameoput " (1)" into suffixput "  " into spacerwrite2Fileif line 2 of spouseNames is not empty thenput line 2 of spouseNames into nameoput nameoput " (2)" into suffixput "  " into spacerwrite2Fileend ifif line 3 of spouseNames is not empty thenput line 3 of spouseNames into nameoput nameoput " (3)" into suffixput "  " into spacerwrite2Fileend ifif line 4 of spouseNames is not empty thenput line 4 of spouseNames into nameoput nameoput " (4)" into suffixput "  " into spacerwrite2Fileend ifput empty into suffixend ifend spouseWriteon getsuffixglobal matchName, suffix, spouseNamesset numberformat to "0"repeat with counter = 1 to the number of lines of spousenamesif line counter of spouseNames contains matchName thenput " (" & counter & ")" into suffixexit getSuffixend ifend repeatput "(?)" into suffixend getsuffixon cleanThePuppyglobal printfile,linenumglobal starttick, remaining, counter,totalcardsdelete line (linenum + 1) to (number of lines of printfile) of printfile-- Get rid of commas at the end of linesput number of lines of printfile into totalcardsput the ticks into starttickrepeat with counter = 1 to the number of lines of printFilerepeatif the last char of line counter of printFile is "," thendelete last char of line counter of printFilenext repeatelseexit repeatend ifend repeatcalcEndput counter & " of " & totalcards & " tails trimmed. " & remaining & " minutes:seconds left"end repeat-- replace all of the commas in the printfile with tabs for formattingput the ticks into starttickrepeat with counter = 1 to the number of lines in printfileput 1 into notchrepeat until notch = 0put offset (",",Line counter of printfile) into notchif notch <> 0 thenput tab into char notch of line counter of printfileend ifend repeatcalcEndput counter & " of " & totalcards & " lines filtered. " & remaining & " minutes:seconds left"end repeatend cleanThePuppyon findMaxLowglobal col1low,col2low,col3low,col4low,col5low,col6low,col7lowglobal col8low,col9low,col10low,col11low,col12low,maxlow,colNumput empty into tempHoldif colNum > 11 then put col12low & "," after tempHoldif colNum > 10 then put col11low & "," after tempHoldif colNum > 9 then put col10low & "," after tempHoldif colNum > 8 then put col9low & "," after tempHoldif colNum > 7 then put col8low & "," after tempHoldif colNum > 6 then put col7low & "," after tempHoldif colNum > 5 then put col6low & "," after tempHoldif colNum > 4 then put col5low & "," after tempHoldif colNum > 3 then put col4low & "," after tempHoldif colNum > 2 then put col3low & "," after tempHoldif colNum > 1 then put col2low & "," after tempHoldif colNum = 1 then put 2 into tempholdput max(tempHold) into maxlowend findMaxLowon determineRowglobal collow,sibnum,kidcount,rightGroupLow,rightGroupHighglobal thisGroupLow,thisGroupHigh,spouseCount,maxlow,Formatglobal leftColLow,BroSis,nameo, format, tightLooseif kidCount = 0 thenfindMaxLowif sibNum = 1 thenif tightLoose is "Tight"thenadd 1 to maxlowelseadd 2 to maxlowend ifelseif tightLoose is "Loose" then add 1 to maxlowend ifput maxlow into collowend ifif kidCount > 0 thenif kidcount = 1 or format contains "Level" thenput rightGrouphigh into collowelseput average (rightGroupLow,rightGroupHigh) into averageRowput trunc(averageRow) into averageRowput trunc((spouseCount + 1) / 2) into ourTopHalfsubtract ourTopHalf from averageRowif averageRow < rightGroupHigh then put rightGroupHigh into averageRowput averageRow into collowend ifend ifput collow into thisGroupLowif sibNum = 1 thenput collow into thisGroupHighend ifend determineRowon loadVariablesglobal col1low,col2low,col3low,col4low,col5low,col6low,col7lowglobal col8low,col9low,col10low,col11low,col12lowglobal group1high,group2high,group3high,group4high,group5high,group6highglobal group7high,group8high,group9high,group10high,group11high,group12highglobal group1low,group2low,group3low,group4low,group5low,group6lowglobal group7low,group8low,group9low,group10low,group11low,group12lowput 1 into col1lowput 1 into col2lowput 1 into col3lowput 1 into col4lowput 1 into col5lowput 1 into col6lowput 1 into col7lowput 1 into col8lowput 1 into col9lowput 1 into col10lowput 1 into col11lowput 1 into col12lowput 1 into group1highput 1 into group2highput 1 into group3highput 1 into group4highput 1 into group5highput 1 into group6highput 1 into group7highput 1 into group8highput 1 into group9highput 1 into group10highput 1 into group11highput 1 into group12highput 1 into group1lowput 1 into group2lowput 1 into group3lowput 1 into group4lowput 1 into group5lowput 1 into group6lowput 1 into group7lowput 1 into group8lowput 1 into group9lowput 1 into group10lowput 1 into group11lowput 1 into group12lowend loadVariableson figureSizeglobal col1low,col2low,col3low,col4low,col5low,col6lowglobal col7low,col8low,col9low,col10low,col11low,col12lowglobal generations,linenum,typechoice,printfileput max (col1low,col2low,col3low,col4low,col5low,col6low,col7low,col8low,¬¨col9low,col10low,col11low,col12low) into lineNumif col1low > 1 then put 1 into generationsif col2low > 1 then put 2 into generationsif col3low > 1 then put 3 into generationsif col4low > 1 then put 4 into generationsif col5low > 1 then put 5 into generationsif col6low > 1 then put 6 into generationsif col7low > 1 then put 7 into generationsif col8low > 1 then put 8 into generationsif col9low > 1 then put 9 into generationsif col10low > 1 then put 10 into generationsif col11low > 1 then put 11 into generationsif col12low > 1 then put 12 into generations-- this will place the number of lines in the firt cell(A1) and the-- number of generations in the second cell(B1) of a spreadsheet-- a spreadsheet macro can use them in a routineif typeChoice = "TEXT"thenput linenum into item 1 of line 1 of printfileput generations into item 2 of line 1 of printfileelseput "C;Y1;X1;K" & linenum & return after printfileput "C;Y1;X2;K" & generations & return after printfileend if-- This displays # of lines and # of generationsput lineNum & " Lines covering " & generations & " Generations are gathered - Now compacting file."end figureSizeon storeFileglobal printfile,col1name-- create the text file and put printfile into it.put col1name & " Descendants" into suggestask file "Please enter name and select destination of printfile" with suggestif it is empty thenask file "One more chance - please enter name for file." with suggestend ifif it is empty thenput "File not written to disk"exit storeFileend ifput it into fileNameopen file fileNameif the result is not empty thenput the resultexit storeFileend ifwrite printfile to file filenameclose file filenameanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."exit storeFileelseput it into applNameopen filename with applNameend ifend ifend storeFileon storeFile2global printfile,col1name-- create the text file and put printfile into it.put col1name & " Pedigree" into suggestask file "Please enter name and select destination of printfile" with suggestif it is empty thenask file "One more chance - please enter name for file." with suggestend ifif it is empty thenput "File not written to disk"exit storeFile2end ifput it into fileNameopen file fileNameif the result is not empty thenput the resultexit storeFile2end ifwrite printfile to file filenameclose file filenameanswer "Do you want to open the printfile with another application?" with "Yes" or "No"if it is yes thenanswer file "Please select the application to open printfile" of type APPLif it is empty thenput "No application selected, We're gone."exit storeFile2elseput it into applNameopen filename with applNameend ifend ifend storeFile2on prepareIndicatorsglobal genSize, ColNum, TargetName, fieldNumber, nameLeft ,kidCount, sibNum-- determine sibNum (first or second from this card)put 1 into sibNumif fieldNumber = 20  and field 19 of card nameLeft is not emptythen put 2 into sibnum--set up kidcount (whether parents exist) before determining rowif gensize = colNumthenput 0 into kidCountelseput field 19 of card targetName into x1put field 20 of card targetname into x2if x1 is empty and x2 is emptythenput 0 into kidCountelseif x1 is not empty and x2 is not emptythenput 2 into kidCountelseput 1 into kidCountend ifend ifend ifend prepareIndicators</script>
  3730. </background>
  3731.